On 31 August 2017 at 21:20, Sam Protsenko <semen.protse...@linaro.org> wrote: > Since 842778a09104 commit, "fastboot devices" stopped to show correct > device serial number for TI boards, showing this line instead: > > ???????????? fastboot > > This is because serial# env variable could be set after g_dnl gadget was > initialized (e.g. by using env_set() in the board file). > > To fix this, before checking g_dnl_serial, let's re-check if we have > valid serial# value. And if so, let's set it as g_dnl_serial value. > > Signed-off-by: Sam Protsenko <semen.protse...@linaro.org> > --- > drivers/usb/gadget/g_dnl.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c > index 0491a0eea9..e4d0289757 100644 > --- a/drivers/usb/gadget/g_dnl.c > +++ b/drivers/usb/gadget/g_dnl.c > @@ -226,6 +226,15 @@ static int g_dnl_bind(struct usb_composite_dev *cdev) > > g_dnl_bind_fixup(&device_desc, cdev->driver->name); > > + /* First try to obtain serial number from serial# variable */ > + if (strlen(g_dnl_serial) == 0) { > + const char *s; > + > + s = env_get("serial#"); > + if (s) > + g_dnl_set_serialnumber((char *)s); > + } > + > if (strlen(g_dnl_serial)) { > id = usb_string_id(cdev); > if (id < 0) > -- > 2.14.1 >
Similar commit: [1]. But I'm not sure that implementing g_dnl_bind_fixup() in board file is the best way to fix it. [1] http://git.denx.de/?p=u-boot.git;a=commit;h=e91ead868b536d0a0dc49aa48f4d8c80c1a94b79 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot