Hi Khan, On Tue, Apr 04, 2017 at 11:14:33AM -0600, Shuah Khan wrote: > On 03/30/2017 06:28 PM, Yuyang Du wrote: > > The commit 0775a9cbc694e8c7 ("usbip: vhci extension: modifications > > to vhci driver") introduced multiple controllers, but the status > > of the ports are only extracted from the first status file, fix it. > > Are sure this change is needed? What bug are you fixing? This change > will impact every single code path that calls usbip_vhci_driver_open() > > It might be sufficient to look at just the first file status in many of > these cases? Yes, I'm sure. The 1st status file only has the 1st controller's ports, but we must have the status of all the ports of all the controllers. > > > > Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> > > --- > > tools/usb/usbip/libsrc/vhci_driver.c | 27 +++++++++++++++++++++------ > > 1 file changed, 21 insertions(+), 6 deletions(-) > > > > diff --git a/tools/usb/usbip/libsrc/vhci_driver.c b/tools/usb/usbip/libsrc/vhci_driver.c > > index ccecd47..630b139 100644 > > --- a/tools/usb/usbip/libsrc/vhci_driver.c > > +++ b/tools/usb/usbip/libsrc/vhci_driver.c > > @@ -108,18 +108,33 @@ static int parse_status(const char *value) > > return 0; > > } > > > > +#define MAX_STATUS_NAME 16 > > + > > static int refresh_imported_device_list(void) > > { > > const char *attr_status; > > + char status[MAX_STATUS_NAME+1] = "status"; > > + int i, ret; > > > > - attr_status = udev_device_get_sysattr_value(vhci_driver->hc_device, > > - "status"); > > - if (!attr_status) { > > - err("udev_device_get_sysattr_value failed"); > > - return -1; > > + for (i = 0; i < vhci_driver->ncontrollers; i++) { > > + if (i > 0) > > + snprintf(status, sizeof(status), "status.%d", i); > > + > > + attr_status = udev_device_get_sysattr_value(vhci_driver->hc_device, > > + status); > > + if (!attr_status) { > > + err("udev_device_get_sysattr_value failed"); > > + return -1; > > + } > > + > > + dbg("controller %d", i); > > + > > + ret = parse_status(attr_status); > > + if (ret != 0) > > + return ret; > > usbip_vhci_driver_open() will fail even if one of these fails? Is that > what you would want? Ditto. Thanks, Yuyang -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html