patch "usbip: fix usbip attach to find a port that matches the requested" added to usb-linus
Subsystems (2)
This is a note to let you know that I've just added the patch titled
usbip: fix usbip attach to find a port that matches the requested
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
Quoted 1 line
From
1ac7c8a78be85f84b019d3d2742d1a9f07255cc5Mon Sep 17 00:00:00 2001
From: Shuah Khan <[email protected]>
Date: Wed, 29 Nov 2017 15:24:22 -0700
Subject: usbip: fix usbip attach to find a port that matches the requested
speed
usbip attach fails to find a free port when the device on the first port is a USB_SPEED_SUPER device and non-super speed device is being attached. It keeps checking the first port and returns without a match getting stuck in a loop.
Fix it check to find the first port with matching speed.
--- tools/usb/usbip/libsrc/vhci_driver.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)
tools/usb/usbip/libsrc/vhci_driver.c +11 -3
@@ -329,9 +329,17 @@ int usbip_vhci_refresh_device_list(void)int usbip_vhci_get_free_port (uint32_t speed) {for (int i =0 ; i < vhci_driver->nports; i++) { -if (speed ==USB_SPEED_SUPER && - vhci_driver->idev[i].hub !=HUB_SPEED_SUPER ) -continue ; + +switch (speed) { +case USB_SPEED_SUPER : +if (vhci_driver->idev[i].hub !=HUB_SPEED_SUPER ) +continue ; +break ; +default : +if (vhci_driver->idev[i].hub !=HUB_SPEED_HIGH ) +continue ; +break ; + }if (vhci_driver->idev[i].status ==VDEV_ST_NULL )return vhci_driver->idev[i].port;
Signature · 1 line
2.15.1