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; }
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; }