[U-Boot] [PATCH 1/1] usb: gadget: g_dnl: Use serial# variable to set g_dnl_serial

Sam Protsenko semen.protsenko at linaro.org
Thu Aug 31 18:20:04 UTC 2017


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.protsenko at 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



More information about the U-Boot mailing list