On Fri, Mar 23, 2018 at 5:33 PM, Benson Leung <ble...@chromium.org> wrote:
> Print bcdDevice which is used by vendors to identify different versions
> of the same product (or different versions of firmware).
>
> Adding this to the logs will be useful for support purposes.
>
> Signed-off-by: Benson Leung <ble...@chromium.org>
> ---
>  drivers/usb/core/hub.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index aaeef03c0d83..739d599814b6 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -2192,14 +2192,16 @@ static void show_string(struct usb_device *udev, char 
> *id, char *string)
>
>  static void announce_device(struct usb_device *udev)
>  {
> -       dev_info(&udev->dev, "New USB device found, idVendor=%04x, 
> idProduct=%04x\n",
> -               le16_to_cpu(udev->descriptor.idVendor),
> -               le16_to_cpu(udev->descriptor.idProduct));
>         dev_info(&udev->dev,
> -               "New USB device strings: Mfr=%d, Product=%d, 
> SerialNumber=%d\n",
> -               udev->descriptor.iManufacturer,
> -               udev->descriptor.iProduct,
> -               udev->descriptor.iSerialNumber);
> +                "New USB device found, idVendor=%04x, idProduct=%04x, 
> bcdDevice=%04x\n",
> +                le16_to_cpu(udev->descriptor.idVendor),
> +                le16_to_cpu(udev->descriptor.idProduct),
> +                le16_to_cpu(udev->descriptor.bcdDevice));
> +       dev_info(&udev->dev,
> +                "New USB device strings: Mfr=%d, Product=%d, 
> SerialNumber=%d\n",
> +                udev->descriptor.iManufacturer,
> +                udev->descriptor.iProduct,
> +                udev->descriptor.iSerialNumber);
>         show_string(udev, "Product", udev->product);
>         show_string(udev, "Manufacturer", udev->manufacturer);
>         show_string(udev, "SerialNumber", udev->serial);
> --
> 2.17.0.rc0.231.g781580f067-goog
>

> +                "New USB device found, idVendor=%04x, idProduct=%04x, 
> bcdDevice=%04x\n",
Can you please decode bcdDevice into a decimal string?

lsusb -v does this (bcdDevice: 0.03 for example) and in my experience
it has generally matched up with how hardware manufacturers refer
to their firmware.

Reply via email to