[PATCH v2 1/2] usb: gadget: initialize serialnumber

Marco Felsch m.felsch at pengutronix.de
Thu Oct 26 07:43:24 PDT 2023

Windows hosts do require the serial number to be set to any ascii string
to enumerate correctly. Set the serial number if provided or to "unset"
if not to provide a sane default which works for both hosts.

Reported-by: Andrey Zhizhikin <andrey.zhizhikin at leica-geosystems.com>
Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>

- adapt commit message
- use barebox_get_serial_number() and "unset"

 drivers/usb/gadget/udc/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
index b58498680ad1..e7cfa0d5d836 100644
--- a/drivers/usb/gadget/udc/core.c
+++ b/drivers/usb/gadget/udc/core.c
@@ -1204,7 +1204,7 @@ int usb_add_gadget(struct usb_gadget *gadget)
 	gadget->productname = xstrdup(barebox_get_model());
 	dev_add_param_string(&gadget->dev, "productname", NULL, NULL,
 			     &gadget->productname, NULL);
-	gadget->serialnumber = xstrdup("");
+	gadget->serialnumber = xstrdup(barebox_get_serial_number() ? : "unset");
 	dev_add_param_string(&gadget->dev, "serialnumber", NULL, NULL,
 			     &gadget->serialnumber, NULL);

More information about the barebox mailing list