]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
usb: gadget: Call g_dnl_bind_fixup() before testing g_dnl_serial length
authorLukasz Majewski <lukma@denx.de>
Mon, 26 Jun 2017 11:04:58 +0000 (13:04 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 29 Jun 2017 13:51:05 +0000 (09:51 -0400)
After the commit SHA1: 842778a091 - the serial number descriptor is only
visible when we have non zero length of g_dnl_serial.

However, on some platforms (e.g. Siemens) the serial number is set at
g_dnl_bind_fixup(), so with the current code we will always omit the
serial (since it is not set).

This commit moves the g_dnl_bind_fixup() call before the g_dnl_serial
length test.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
Tested-by: Heiko Schocher <hs@denx.de>
drivers/usb/gadget/g_dnl.c

index d4bee9b03e4f1d05619944ededc17cd2dc623d7b..0491a0eea941902bb6cf494dccb9e8f64d6eae20 100644 (file)
@@ -224,6 +224,8 @@ static int g_dnl_bind(struct usb_composite_dev *cdev)
        g_dnl_string_defs[1].id = id;
        device_desc.iProduct = id;
 
+       g_dnl_bind_fixup(&device_desc, cdev->driver->name);
+
        if (strlen(g_dnl_serial)) {
                id = usb_string_id(cdev);
                if (id < 0)
@@ -233,7 +235,6 @@ static int g_dnl_bind(struct usb_composite_dev *cdev)
                device_desc.iSerialNumber = id;
        }
 
-       g_dnl_bind_fixup(&device_desc, cdev->driver->name);
        ret = g_dnl_config_register(cdev);
        if (ret)
                goto error;