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 793eda1cfe49f104964d09c21b0ea7f729151c78..f6ea16e9f6bb975a09e296f2493a5a687828d920 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,