Lines Matching refs:urbs
539 struct urb **urbs;
547 urbs = kmalloc(N_URBS * sizeof(*urbs), GFP_KERNEL);
548 if (!urbs) {
549 log("unable to kmalloc() urbs, OOM!?\n");
555 urbs[i] = usb_alloc_urb(FRAMES_PER_URB, GFP_KERNEL);
556 if (!urbs[i]) {
559 return urbs;
562 urbs[i]->transfer_buffer =
564 if (!urbs[i]->transfer_buffer) {
567 return urbs;
572 &urbs[i]->iso_frame_desc[frame];
578 urbs[i]->dev = usb_dev;
579 urbs[i]->pipe = pipe;
580 urbs[i]->transfer_buffer_length = FRAMES_PER_URB
582 urbs[i]->context = &dev->data_cb_info[i];
583 urbs[i]->interval = 1;
584 urbs[i]->transfer_flags = URB_ISO_ASAP;
585 urbs[i]->number_of_packets = FRAMES_PER_URB;
586 urbs[i]->complete = (dir == SNDRV_PCM_STREAM_CAPTURE) ?
591 return urbs;
594 static void free_urbs(struct urb **urbs)
598 if (!urbs)
602 if (!urbs[i])
605 usb_kill_urb(urbs[i]);
606 kfree(urbs[i]->transfer_buffer);
607 usb_free_urb(urbs[i]);
610 kfree(urbs);