Lines Matching refs:urb
204 if (dev->isobufs[i].urb) {
205 ret = usb_submit_urb(dev->isobufs[i].urb, GFP_KERNEL);
224 if (dev->isobufs[i].urb)
225 usb_kill_urb(dev->isobufs[i].urb);
304 static void stk_isoc_handler(struct urb *urb)
317 dev = (struct stk_camera *) urb->context;
324 if (urb->status == -ENOENT || urb->status == -ECONNRESET
325 || urb->status == -ESHUTDOWN) {
332 if (urb->status != -EINPROGRESS && urb->status != 0) {
333 pr_err("isoc_handler: urb->status == %d\n", urb->status);
346 for (i = 0; i < urb->number_of_packets; i++) {
347 if (urb->iso_frame_desc[i].status != 0) {
348 if (urb->iso_frame_desc[i].status != -EXDEV)
350 i, urb->iso_frame_desc[i].status);
353 framelen = urb->iso_frame_desc[i].actual_length;
354 iso_buf = urb->transfer_buffer + urb->iso_frame_desc[i].offset;
415 urb->dev = dev->udev;
416 ret = usb_submit_urb(urb, GFP_ATOMIC);
418 pr_err("Error (%d) re-submitting urb in stk_isoc_handler\n",
429 struct urb *urb;
455 if (dev->isobufs[i].urb == NULL) {
456 urb = usb_alloc_urb(ISO_FRAMES_PER_DESC, GFP_KERNEL);
457 if (urb == NULL)
459 dev->isobufs[i].urb = urb;
462 usb_kill_urb(dev->isobufs[i].urb);
463 urb = dev->isobufs[i].urb;
465 urb->interval = 1;
466 urb->dev = udev;
467 urb->pipe = usb_rcvisocpipe(udev, dev->isoc_ep);
468 urb->transfer_flags = URB_ISO_ASAP;
469 urb->transfer_buffer = dev->isobufs[i].data;
470 urb->transfer_buffer_length = ISO_BUFFER_SIZE;
471 urb->complete = stk_isoc_handler;
472 urb->context = dev;
473 urb->start_frame = 0;
474 urb->number_of_packets = ISO_FRAMES_PER_DESC;
477 urb->iso_frame_desc[j].offset = j * ISO_MAX_FRAME_SIZE;
478 urb->iso_frame_desc[j].length = ISO_MAX_FRAME_SIZE;
487 for (i = 0; i < MAX_ISO_BUFS && dev->isobufs[i].urb; i++)
488 usb_free_urb(dev->isobufs[i].urb);
502 struct urb *urb;
504 urb = dev->isobufs[i].urb;
505 if (urb) {
507 usb_kill_urb(urb);
508 usb_free_urb(urb);