On 05/22/2017 04:20 AM, Yuyang Du wrote:
> From: Yuyang Du <yuyang...@intel.com>
> 
> 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.
> 
> Reviewed-by: Krzysztof Opasiak <k.opas...@samsung.com>
> Signed-off-by: Yuyang Du <yuyang...@intel.com>

Acked-by: Shuah Khan <shua...@osg.samsung.com>

thanks,
-- Shuah

> ---
>  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 f6f3a19..aa82c4b 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;
>       }
>  
> -     return parse_status(attr_status);
> +     return 0;
>  }
>  
>  static int get_nports(void)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to