Re: [PATCH v3] USB: announce bcdDevice as well as idVendor, idProduct.

From: Alan Stern
Date: Mon Mar 26 2018 - 14:27:41 EST


On Sat, 24 Mar 2018, Benson Leung 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.
>
> Match the %2x.%02x formatting that's used by lsusb -v for this same value.
>
> Signed-off-by: Benson Leung <bleung@xxxxxxxxxxxx>
> ---
>
> v3: Remove unnecessary whitespace changes.
> v2: Format for decimal output.
>
> drivers/usb/core/hub.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index aaeef03c0d83..779725836cf5 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -2192,9 +2192,13 @@ 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",
> + u16 bcdDevice = le16_to_cpu(udev->descriptor.bcdDevice);
> +
> + dev_info(&udev->dev,
> + "New USB device found, idVendor=%04x, idProduct=%04x, bcdDevice=%2x.%02x\n",
> le16_to_cpu(udev->descriptor.idVendor),
> - le16_to_cpu(udev->descriptor.idProduct));
> + le16_to_cpu(udev->descriptor.idProduct),
> + bcdDevice >> 8, bcdDevice & 0xff);
> dev_info(&udev->dev,
> "New USB device strings: Mfr=%d, Product=%d, SerialNumber=%d\n",
> udev->descriptor.iManufacturer,

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>