Lines Matching refs:urb
49 static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
51 static int vhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status);
425 static void vhci_tx_urb(struct urb *urb) in vhci_tx_urb() argument
427 struct vhci_device *vdev = get_vdev(urb->dev); in vhci_tx_urb()
445 dev_info(&urb->dev->dev, "seqnum max\n"); in vhci_tx_urb()
448 priv->urb = urb; in vhci_tx_urb()
450 urb->hcpriv = (void *) priv; in vhci_tx_urb()
458 static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, in vhci_urb_enqueue() argument
461 struct device *dev = &urb->dev->dev; in vhci_urb_enqueue()
466 hcd, urb, mem_flags); in vhci_urb_enqueue()
469 BUG_ON(!urb->transfer_buffer && urb->transfer_buffer_length); in vhci_urb_enqueue()
473 if (urb->status != -EINPROGRESS) { in vhci_urb_enqueue()
474 dev_err(dev, "URB already unlinked!, status %d\n", urb->status); in vhci_urb_enqueue()
476 return urb->status; in vhci_urb_enqueue()
479 vdev = port_to_vdev(urb->dev->portnum-1); in vhci_urb_enqueue()
492 ret = usb_hcd_link_urb_to_ep(hcd, urb); in vhci_urb_enqueue()
505 if (usb_pipedevice(urb->pipe) == 0) { in vhci_urb_enqueue()
506 __u8 type = usb_pipetype(urb->pipe); in vhci_urb_enqueue()
508 (struct usb_ctrlrequest *) urb->setup_packet; in vhci_urb_enqueue()
523 vdev->udev = usb_get_dev(urb->dev); in vhci_urb_enqueue()
529 if (urb->status == -EINPROGRESS) { in vhci_urb_enqueue()
532 urb->status = 0; in vhci_urb_enqueue()
543 vdev->udev = usb_get_dev(urb->dev); in vhci_urb_enqueue()
559 vhci_tx_urb(urb); in vhci_urb_enqueue()
565 usb_hcd_unlink_urb_from_ep(hcd, urb); in vhci_urb_enqueue()
570 urb, urb->status); in vhci_urb_enqueue()
620 static int vhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) in vhci_urb_dequeue() argument
625 pr_info("dequeue a urb %p\n", urb); in vhci_urb_dequeue()
629 priv = urb->hcpriv; in vhci_urb_dequeue()
640 ret = usb_hcd_check_unlink_urb(hcd, urb, status); in vhci_urb_dequeue()
657 urb->hcpriv = NULL; in vhci_urb_dequeue()
666 pr_info("gives back urb %p\n", urb); in vhci_urb_dequeue()
668 usb_hcd_unlink_urb_from_ep(hcd, urb); in vhci_urb_dequeue()
671 usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, in vhci_urb_dequeue()
672 urb->status); in vhci_urb_dequeue()
726 struct urb *urb; in vhci_device_unlink_cleanup() local
734 urb = pickup_urb_and_free_priv(vdev, unlink->unlink_seqnum); in vhci_device_unlink_cleanup()
735 if (!urb) { in vhci_device_unlink_cleanup()
743 urb->status = -ENODEV; in vhci_device_unlink_cleanup()
745 usb_hcd_unlink_urb_from_ep(vhci_to_hcd(the_controller), urb); in vhci_device_unlink_cleanup()
752 usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, in vhci_device_unlink_cleanup()
753 urb->status); in vhci_device_unlink_cleanup()