FAILED: patch "[PATCH] usbip: fix usbip attach to find a port that matches the" failed to apply to 4.4-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
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: [PATCH] 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 +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;