[U-Boot] [PATCH] usb: gadget: Call g_dnl_bind_fixup() before testing g_dnl_serial length

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 --- drivers/usb/gadget/g_dnl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index d4bee9b..0491a0e 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -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;

Hello Lukasz,
Am 26.06.2017 um 13:04 schrieb Lukasz Majewski:
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
drivers/usb/gadget/g_dnl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Just Tested on the smartweb board. Works fine!
Tested-by: Heiko Schocher hs@denx.de
bye, Heiko
diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index d4bee9b..0491a0e 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -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;

On Mon, Jun 26, 2017 at 01:04:58PM +0200, Lukasz Majewski wrote:
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
Applied to u-boot/master, thanks!
participants (3)
-
Heiko Schocher
-
Lukasz Majewski
-
Tom Rini