Пример #1
0
static inline int hcs_urb_queue (hci_t * hci, struct urb * urb)
{
	int i;
	
	if (usb_pipeisoc (urb->pipe)) {
		for (i = 0; i < urb->number_of_packets; i++) {
  			urb->iso_frame_desc[i].actual_length = 0;
  			urb->iso_frame_desc[i].status = -EXDEV;
  		}
	}	

	urb->status = USB_ST_URB_PENDING;
	urb->actual_length = 0;
	urb->error_count = 0;

	qu_queue_urb (hci, urb);

	return 0;
}
Пример #2
0
static int hcs_urb_queue (hci_t * hci, urb_t * urb)
{
	int i;

	if (usb_pipeisoc (urb->pipe)) {
		for (i = 0; i < urb->number_of_packets; i++) {
			urb->iso_frame_desc[i].actual_length = 0;
			urb->iso_frame_desc[i].status = -EXDEV;
		}
	}
	i = InitDmaWork(hci,urb);

	if (i==0) {
		urb->status = USB_ST_URB_PENDING;
		urb->actual_length = 0;
		qu_queue_urb (hci, urb);
	}
	return i;
}