Lines Matching refs:urb
756 static void em28xx_irq_callback(struct urb *urb) in em28xx_irq_callback() argument
758 struct em28xx *dev = urb->context; in em28xx_irq_callback()
761 switch (urb->status) { in em28xx_irq_callback()
770 em28xx_isocdbg("urb completition error %d.\n", urb->status); in em28xx_irq_callback()
776 dev->usb_ctl.urb_data_copy(dev, urb); in em28xx_irq_callback()
780 for (i = 0; i < urb->number_of_packets; i++) { in em28xx_irq_callback()
782 urb->iso_frame_desc[i].status = 0; in em28xx_irq_callback()
783 urb->iso_frame_desc[i].actual_length = 0; in em28xx_irq_callback()
785 urb->status = 0; in em28xx_irq_callback()
787 urb->status = usb_submit_urb(urb, GFP_ATOMIC); in em28xx_irq_callback()
788 if (urb->status) { in em28xx_irq_callback()
790 urb->status); in em28xx_irq_callback()
799 struct urb *urb; in em28xx_uninit_usb_xfer() local
812 urb = usb_bufs->urb[i]; in em28xx_uninit_usb_xfer()
813 if (urb) { in em28xx_uninit_usb_xfer()
815 usb_kill_urb(urb); in em28xx_uninit_usb_xfer()
817 usb_unlink_urb(urb); in em28xx_uninit_usb_xfer()
821 urb->transfer_buffer_length, in em28xx_uninit_usb_xfer()
823 urb->transfer_dma); in em28xx_uninit_usb_xfer()
825 usb_free_urb(urb); in em28xx_uninit_usb_xfer()
826 usb_bufs->urb[i] = NULL; in em28xx_uninit_usb_xfer()
831 kfree(usb_bufs->urb); in em28xx_uninit_usb_xfer()
834 usb_bufs->urb = NULL; in em28xx_uninit_usb_xfer()
848 struct urb *urb; in em28xx_stop_urbs() local
854 urb = isoc_bufs->urb[i]; in em28xx_stop_urbs()
855 if (urb) { in em28xx_stop_urbs()
857 usb_kill_urb(urb); in em28xx_stop_urbs()
859 usb_unlink_urb(urb); in em28xx_stop_urbs()
876 struct urb *urb; in em28xx_alloc_urbs() local
909 usb_bufs->urb = kzalloc(sizeof(void *)*num_bufs, GFP_KERNEL); in em28xx_alloc_urbs()
910 if (!usb_bufs->urb) { in em28xx_alloc_urbs()
919 kfree(usb_bufs->urb); in em28xx_alloc_urbs()
935 urb = usb_alloc_urb(usb_bufs->num_packets, GFP_KERNEL); in em28xx_alloc_urbs()
936 if (!urb) { in em28xx_alloc_urbs()
941 usb_bufs->urb[i] = urb; in em28xx_alloc_urbs()
944 sb_size, GFP_KERNEL, &urb->transfer_dma); in em28xx_alloc_urbs()
960 usb_fill_bulk_urb(urb, dev->udev, pipe, in em28xx_alloc_urbs()
963 urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP; in em28xx_alloc_urbs()
969 usb_fill_int_urb(urb, dev->udev, pipe, in em28xx_alloc_urbs()
972 urb->transfer_flags = URB_ISO_ASAP | in em28xx_alloc_urbs()
976 urb->iso_frame_desc[j].offset = k; in em28xx_alloc_urbs()
977 urb->iso_frame_desc[j].length = in em28xx_alloc_urbs()
983 urb->number_of_packets = usb_bufs->num_packets; in em28xx_alloc_urbs()
996 int (*urb_data_copy)(struct em28xx *dev, struct urb *urb)) in em28xx_init_usb_xfer() argument
1027 rc = usb_clear_halt(dev->udev, usb_bufs->urb[0]->pipe); in em28xx_init_usb_xfer()
1043 rc = usb_submit_urb(usb_bufs->urb[i], GFP_ATOMIC); in em28xx_init_usb_xfer()