USB: announce bcdDevice as well as idVendor, idProduct.
authorBenson Leung <bleung@chromium.org>
Sat, 24 Mar 2018 17:40:27 +0000 (10:40 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Mar 2018 10:50:44 +0000 (12:50 +0200)
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@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hub.c

index 793eda1..f6ea16e 100644 (file)
@@ -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,