Lines Matching refs:urb
376 static void flexcop_usb_urb_complete(struct urb *urb)
378 struct flexcop_usb *fc_usb = urb->context;
381 if (urb->actual_length > 0)
382 deb_ts("urb completed, bufsize: %d actlen; %d\n",
383 urb->transfer_buffer_length, urb->actual_length);
385 for (i = 0; i < urb->number_of_packets; i++) {
386 if (urb->iso_frame_desc[i].status < 0) {
388 urb->iso_frame_desc[i].status);
390 if (urb->iso_frame_desc[i].actual_length > 0) {
392 urb->iso_frame_desc[i].actual_length);
395 urb->transfer_buffer +
396 urb->iso_frame_desc[i].offset,
397 urb->iso_frame_desc[i].actual_length);
399 urb->iso_frame_desc[i].status = 0;
400 urb->iso_frame_desc[i].actual_length = 0;
402 usb_submit_urb(urb, GFP_ATOMIC);
416 deb_ts("unlinking/killing urb no. %d\n", i);
461 struct urb *urb = fc_usb->iso_urb[i];
462 deb_ts("initializing and submitting urb no. %d (buf_offset: %d).\n",
465 urb->dev = fc_usb->udev;
466 urb->context = fc_usb;
467 urb->complete = flexcop_usb_urb_complete;
468 urb->pipe = B2C2_USB_DATA_PIPE;
469 urb->transfer_flags = URB_ISO_ASAP;
470 urb->interval = 1;
471 urb->number_of_packets = B2C2_USB_FRAMES_PER_ISO;
472 urb->transfer_buffer_length = frame_size * B2C2_USB_FRAMES_PER_ISO;
473 urb->transfer_buffer = fc_usb->iso_buffer + buffer_offset;
477 deb_ts("urb no: %d, frame: %d, frame_offset: %d\n",
479 urb->iso_frame_desc[j].offset = frame_offset;
480 urb->iso_frame_desc[j].length = frame_size;
485 err("submitting urb %d failed with %d.", i, ret);
488 deb_ts("submitted urb no. %d.\n", i);