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

Heiko Schocher hs at denx.de
Mon Jun 26 11:20:12 UTC 2017


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 at denx.de>
> Acked-by: Heiko Schocher <hs at 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 at 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;
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list