Lines Matching refs:urbs
535 struct urb **urbs;
543 urbs = kmalloc(N_URBS * sizeof(*urbs), GFP_KERNEL);
544 if (!urbs) {
545 log("unable to kmalloc() urbs, OOM!?\n");
551 urbs[i] = usb_alloc_urb(FRAMES_PER_URB, GFP_KERNEL);
552 if (!urbs[i]) {
555 return urbs;
558 urbs[i]->transfer_buffer =
560 if (!urbs[i]->transfer_buffer) {
563 return urbs;
568 &urbs[i]->iso_frame_desc[frame];
574 urbs[i]->dev = usb_dev;
575 urbs[i]->pipe = pipe;
576 urbs[i]->transfer_buffer_length = FRAMES_PER_URB
578 urbs[i]->context = &dev->data_cb_info[i];
579 urbs[i]->interval = 1;
580 urbs[i]->transfer_flags = URB_ISO_ASAP;
581 urbs[i]->number_of_packets = FRAMES_PER_URB;
582 urbs[i]->complete = (dir == SNDRV_PCM_STREAM_CAPTURE) ?
587 return urbs;
590 static void free_urbs(struct urb **urbs)
594 if (!urbs)
598 if (!urbs[i])
601 usb_kill_urb(urbs[i]);
602 kfree(urbs[i]->transfer_buffer);
603 usb_free_urb(urbs[i]);
606 kfree(urbs);