Skip to content

Commit 0dd6637

Browse files
zenczykowskigregkh
authored andcommitted
usbip: fix vhci_hcd controller counting
[ Upstream commit e0a2e73 ] Without this usbip fails on a machine with devices that lexicographically come after vhci_hcd. ie. $ ls -l /sys/devices/platform ... drwxr-xr-x. 4 root root 0 Sep 19 16:21 serial8250 -rw-r--r--. 1 root root 4096 Sep 19 23:50 uevent drwxr-xr-x. 6 root root 0 Sep 20 13:15 vhci_hcd.0 drwxr-xr-x. 4 root root 0 Sep 19 16:22 w83627hf.656 Because it detects 'w83627hf.656' as another vhci_hcd controller, and then fails to be able to talk to it. Note: this doesn't actually fix usbip's support for multiple controllers... that's still broken for other reasons ("vhci_hcd.0" is hardcoded in a string macro), but is enough to actually make it work on the above machine. See also: https://bugzilla.redhat.com/show_bug.cgi?id=1631148 Cc: Jonathan Dieter <[email protected]> Cc: Valentina Manea <[email protected]> Cc: Shuah Khan <[email protected]> Cc: [email protected] Signed-off-by: Maciej Żenczykowski <[email protected]> Acked-by: Shuah Khan (Samsung OSG) <[email protected]> Tested-by: Jonathan Dieter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent ef9f432 commit 0dd6637

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

tools/usb/usbip/libsrc/vhci_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ static int get_nports(struct udev_device *hc_device)
150150

151151
static int vhci_hcd_filter(const struct dirent *dirent)
152152
{
153-
return strcmp(dirent->d_name, "vhci_hcd") >= 0;
153+
return !strncmp(dirent->d_name, "vhci_hcd.", 9);
154154
}
155155

156156
static int get_ncontrollers(void)

0 commit comments

Comments
 (0)