summaryrefslogtreecommitdiff
path: root/drivers/usb/usbip/vhci_hcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/usbip/vhci_hcd.c')
-rw-r--r--drivers/usb/usbip/vhci_hcd.c32
1 files changed, 2 insertions, 30 deletions
diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c
index e4cb9f0625e8..5d8b2c261940 100644
--- a/drivers/usb/usbip/vhci_hcd.c
+++ b/drivers/usb/usbip/vhci_hcd.c
@@ -430,36 +430,8 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
return retval;
}
-static struct vhci_device *get_vdev(struct usb_device *udev)
+static void vhci_tx_urb(struct urb *urb, struct vhci_device *vdev)
{
- struct platform_device *pdev;
- struct usb_hcd *hcd;
- struct vhci_hcd *vhci;
- int pdev_nr, rhport;
-
- if (!udev)
- return NULL;
-
- for (pdev_nr = 0; pdev_nr < vhci_num_controllers; pdev_nr++) {
- pdev = *(vhci_pdevs + pdev_nr);
- if (pdev == NULL)
- continue;
- hcd = platform_get_drvdata(pdev);
- if (hcd == NULL)
- continue;
- vhci = hcd_to_vhci(hcd);
- for (rhport = 0; rhport < VHCI_HC_PORTS; rhport++) {
- if (vhci->vdev[rhport].udev == udev)
- return &vhci->vdev[rhport];
- }
- }
-
- return NULL;
-}
-
-static void vhci_tx_urb(struct urb *urb)
-{
- struct vhci_device *vdev = get_vdev(urb->dev);
struct vhci_priv *priv;
struct vhci_hcd *vhci;
unsigned long flags;
@@ -601,7 +573,7 @@ static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
}
out:
- vhci_tx_urb(urb);
+ vhci_tx_urb(urb, vdev);
spin_unlock_irqrestore(&vhci->lock, flags);
return 0;