Lines Matching refs:urb
786 static void cx231xx_isoc_irq_callback(struct urb *urb) in cx231xx_isoc_irq_callback() argument
788 struct cx231xx_dmaqueue *dma_q = urb->context; in cx231xx_isoc_irq_callback()
794 switch (urb->status) { in cx231xx_isoc_irq_callback()
803 cx231xx_isocdbg("urb completition error %d.\n", urb->status); in cx231xx_isoc_irq_callback()
809 dev->video_mode.isoc_ctl.isoc_copy(dev, urb); in cx231xx_isoc_irq_callback()
813 for (i = 0; i < urb->number_of_packets; i++) { in cx231xx_isoc_irq_callback()
814 urb->iso_frame_desc[i].status = 0; in cx231xx_isoc_irq_callback()
815 urb->iso_frame_desc[i].actual_length = 0; in cx231xx_isoc_irq_callback()
818 urb->status = usb_submit_urb(urb, GFP_ATOMIC); in cx231xx_isoc_irq_callback()
819 if (urb->status) { in cx231xx_isoc_irq_callback()
821 urb->status); in cx231xx_isoc_irq_callback()
831 static void cx231xx_bulk_irq_callback(struct urb *urb) in cx231xx_bulk_irq_callback() argument
833 struct cx231xx_dmaqueue *dma_q = urb->context; in cx231xx_bulk_irq_callback()
838 switch (urb->status) { in cx231xx_bulk_irq_callback()
847 cx231xx_isocdbg("urb completition error %d.\n", urb->status); in cx231xx_bulk_irq_callback()
853 dev->video_mode.bulk_ctl.bulk_copy(dev, urb); in cx231xx_bulk_irq_callback()
857 urb->status = usb_submit_urb(urb, GFP_ATOMIC); in cx231xx_bulk_irq_callback()
858 if (urb->status) { in cx231xx_bulk_irq_callback()
860 urb->status); in cx231xx_bulk_irq_callback()
869 struct urb *urb; in cx231xx_uninit_isoc() local
876 urb = dev->video_mode.isoc_ctl.urb[i]; in cx231xx_uninit_isoc()
877 if (urb) { in cx231xx_uninit_isoc()
879 usb_kill_urb(urb); in cx231xx_uninit_isoc()
881 usb_unlink_urb(urb); in cx231xx_uninit_isoc()
885 urb->transfer_buffer_length, in cx231xx_uninit_isoc()
888 urb->transfer_dma); in cx231xx_uninit_isoc()
890 usb_free_urb(urb); in cx231xx_uninit_isoc()
891 dev->video_mode.isoc_ctl.urb[i] = NULL; in cx231xx_uninit_isoc()
896 kfree(dev->video_mode.isoc_ctl.urb); in cx231xx_uninit_isoc()
900 dev->video_mode.isoc_ctl.urb = NULL; in cx231xx_uninit_isoc()
919 struct urb *urb; in cx231xx_uninit_bulk() local
926 urb = dev->video_mode.bulk_ctl.urb[i]; in cx231xx_uninit_bulk()
927 if (urb) { in cx231xx_uninit_bulk()
929 usb_kill_urb(urb); in cx231xx_uninit_bulk()
931 usb_unlink_urb(urb); in cx231xx_uninit_bulk()
935 urb->transfer_buffer_length, in cx231xx_uninit_bulk()
938 urb->transfer_dma); in cx231xx_uninit_bulk()
940 usb_free_urb(urb); in cx231xx_uninit_bulk()
941 dev->video_mode.bulk_ctl.urb[i] = NULL; in cx231xx_uninit_bulk()
946 kfree(dev->video_mode.bulk_ctl.urb); in cx231xx_uninit_bulk()
949 dev->video_mode.bulk_ctl.urb = NULL; in cx231xx_uninit_bulk()
967 int (*isoc_copy) (struct cx231xx *dev, struct urb *urb)) in cx231xx_init_isoc() argument
972 struct urb *urb; in cx231xx_init_isoc() local
1004 dev->video_mode.isoc_ctl.urb = in cx231xx_init_isoc()
1006 if (!dev->video_mode.isoc_ctl.urb) { in cx231xx_init_isoc()
1017 kfree(dev->video_mode.isoc_ctl.urb); in cx231xx_init_isoc()
1034 urb = usb_alloc_urb(max_packets, GFP_KERNEL); in cx231xx_init_isoc()
1035 if (!urb) { in cx231xx_init_isoc()
1041 dev->video_mode.isoc_ctl.urb[i] = urb; in cx231xx_init_isoc()
1045 &urb->transfer_dma); in cx231xx_init_isoc()
1059 usb_fill_int_urb(urb, dev->udev, pipe, in cx231xx_init_isoc()
1063 urb->number_of_packets = max_packets; in cx231xx_init_isoc()
1064 urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP; in cx231xx_init_isoc()
1068 urb->iso_frame_desc[j].offset = k; in cx231xx_init_isoc()
1069 urb->iso_frame_desc[j].length = in cx231xx_init_isoc()
1079 rc = usb_submit_urb(dev->video_mode.isoc_ctl.urb[i], in cx231xx_init_isoc()
1104 int (*bulk_copy) (struct cx231xx *dev, struct urb *urb)) in cx231xx_init_bulk() argument
1109 struct urb *urb; in cx231xx_init_bulk() local
1141 dev->video_mode.bulk_ctl.urb = in cx231xx_init_bulk()
1143 if (!dev->video_mode.bulk_ctl.urb) { in cx231xx_init_bulk()
1154 kfree(dev->video_mode.bulk_ctl.urb); in cx231xx_init_bulk()
1171 urb = usb_alloc_urb(0, GFP_KERNEL); in cx231xx_init_bulk()
1172 if (!urb) { in cx231xx_init_bulk()
1178 dev->video_mode.bulk_ctl.urb[i] = urb; in cx231xx_init_bulk()
1179 urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP; in cx231xx_init_bulk()
1183 &urb->transfer_dma); in cx231xx_init_bulk()
1196 usb_fill_bulk_urb(urb, dev->udev, pipe, in cx231xx_init_bulk()
1205 rc = usb_submit_urb(dev->video_mode.bulk_ctl.urb[i], in cx231xx_init_bulk()