Lines Matching refs:urb
149 struct urb *urbs[MAX_ISO_BUFS];
379 static void msi2500_isoc_handler(struct urb *urb) in msi2500_isoc_handler() argument
381 struct msi2500_state *s = (struct msi2500_state *)urb->context; in msi2500_isoc_handler()
386 if (unlikely(urb->status == -ENOENT || urb->status == -ECONNRESET || in msi2500_isoc_handler()
387 urb->status == -ESHUTDOWN)) { in msi2500_isoc_handler()
389 urb, urb->status == -ENOENT ? "" : "a"); in msi2500_isoc_handler()
393 if (unlikely(urb->status != 0)) { in msi2500_isoc_handler()
394 dev_dbg(s->dev, "called with status %d\n", urb->status); in msi2500_isoc_handler()
405 for (i = 0; i < urb->number_of_packets; i++) { in msi2500_isoc_handler()
409 fstatus = urb->iso_frame_desc[i].status; in msi2500_isoc_handler()
413 i, urb->number_of_packets, fstatus); in msi2500_isoc_handler()
418 flen = urb->iso_frame_desc[i].actual_length; in msi2500_isoc_handler()
422 iso_buf = urb->transfer_buffer + urb->iso_frame_desc[i].offset; in msi2500_isoc_handler()
442 i = usb_submit_urb(urb, GFP_ATOMIC); in msi2500_isoc_handler()
496 struct urb *urb; in msi2500_isoc_init() local
509 urb = usb_alloc_urb(ISO_FRAMES_PER_DESC, GFP_KERNEL); in msi2500_isoc_init()
510 if (urb == NULL) { in msi2500_isoc_init()
515 s->urbs[i] = urb; in msi2500_isoc_init()
516 dev_dbg(s->dev, "Allocated URB at 0x%p\n", urb); in msi2500_isoc_init()
518 urb->interval = 1; in msi2500_isoc_init()
519 urb->dev = s->udev; in msi2500_isoc_init()
520 urb->pipe = usb_rcvisocpipe(s->udev, 0x81); in msi2500_isoc_init()
521 urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP; in msi2500_isoc_init()
522 urb->transfer_buffer = usb_alloc_coherent(s->udev, in msi2500_isoc_init()
524 GFP_KERNEL, &urb->transfer_dma); in msi2500_isoc_init()
525 if (urb->transfer_buffer == NULL) { in msi2500_isoc_init()
531 urb->transfer_buffer_length = ISO_BUFFER_SIZE; in msi2500_isoc_init()
532 urb->complete = msi2500_isoc_handler; in msi2500_isoc_init()
533 urb->context = s; in msi2500_isoc_init()
534 urb->start_frame = 0; in msi2500_isoc_init()
535 urb->number_of_packets = ISO_FRAMES_PER_DESC; in msi2500_isoc_init()
537 urb->iso_frame_desc[j].offset = j * ISO_MAX_FRAME_SIZE; in msi2500_isoc_init()
538 urb->iso_frame_desc[j].length = ISO_MAX_FRAME_SIZE; in msi2500_isoc_init()