We don't want to claim that we support a serial number string and
later return nothing. Because of that, if g_dnl_serial is an empty
string, let's skip setting iSerialNumber to a valid number.
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
        g_dnl_string_defs[1].id = id;
        device_desc.iProduct = id;
 
-       id = usb_string_id(cdev);
-       if (id < 0)
-               return id;
+       if (strlen(g_dnl_serial)) {
+               id = usb_string_id(cdev);
+               if (id < 0)
+                       return id;
 
-       g_dnl_string_defs[2].id = id;
-       device_desc.iSerialNumber = id;
+               g_dnl_string_defs[2].id = id;
+               device_desc.iSerialNumber = id;
+       }
 
        g_dnl_bind_fixup(&device_desc, cdev->driver->name);
        ret = g_dnl_config_register(cdev);