Lines Matching refs:urb

35 static void usb_api_blocking_completion(struct urb *urb)
37 struct api_context *ctx = urb->context;
39 ctx->status = urb->status;
45 * Starts urb and waits for completion or timeout. Note that this call
50 static int usb_start_wait_urb(struct urb *urb, int timeout, int *actual_length)
57 urb->context = &ctx;
58 urb->actual_length = 0;
59 retval = usb_submit_urb(urb, GFP_NOIO);
65 usb_kill_urb(urb);
68 dev_dbg(&urb->dev->dev,
71 usb_endpoint_num(&urb->ep->desc),
72 usb_urb_dir_in(urb) ? "in" : "out",
73 urb->actual_length,
74 urb->transfer_buffer_length);
79 *actual_length = urb->actual_length;
81 usb_free_urb(urb);
92 struct urb *urb;
96 urb = usb_alloc_urb(0, GFP_NOIO);
97 if (!urb)
100 usb_fill_control_urb(urb, usb_dev, pipe, (unsigned char *)cmd, data,
103 retv = usb_start_wait_urb(urb, timeout, &length);
111 * usb_control_msg - Builds a control urb, sends it off and waits for completion
300 * usb_interrupt_msg - Builds an interrupt urb, sends it off and waits for completion
333 * usb_bulk_msg - Builds a bulk urb, sends it off and waits for completion
367 struct urb *urb;
374 urb = usb_alloc_urb(0, GFP_KERNEL);
375 if (!urb)
381 usb_fill_int_urb(urb, usb_dev, pipe, data, len,
385 usb_fill_bulk_urb(urb, usb_dev, pipe, data, len,
388 return usb_start_wait_urb(urb, timeout, actual_length);
405 static void sg_complete(struct urb *urb)
408 struct usb_sg_request *io = urb->context;
409 int status = urb->status;
426 && urb->actual_length) {
430 usb_endpoint_num(&urb->ep->desc),
431 usb_urb_dir_in(urb) ? "in" : "out",
459 } else if (urb == io->urbs[i])
466 io->bytes += urb->actual_length;
490 * I/O mappings and urb memory (except maybe memory used by USB controller
538 struct urb *urb;
541 urb = usb_alloc_urb(0, mem_flags);
542 if (!urb) {
546 io->urbs[i] = urb;
548 urb->dev = NULL;
549 urb->pipe = pipe;
550 urb->interval = period;
551 urb->transfer_flags = urb_flags;
552 urb->complete = sg_complete;
553 urb->context = io;
554 urb->sg = sg;
558 urb->transfer_buffer = NULL;
559 urb->num_sgs = nents;
577 urb->transfer_buffer = sg_virt(sg);
579 urb->transfer_buffer = NULL;
589 urb->transfer_buffer_length = len;