dwusb: fix the string length
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
diff --git a/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c b/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c
index 44c37fb..a245570 100644
--- a/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c
+++ b/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c
@@ -199,12 +199,10 @@
.bInterfaceProtocol = USB_ENUM_INTERFACE_ADB_PROTOCOL
};
-#define USB_SERIAL_LEN 16
-UINT16 adb_string_manu[] = {'F', 'a', 's', 't', 'b',
- 'o', 'o', 't', '2', '.', '0'};
-UINT16 adb_string_prod[] = {'H', 'I', '3', '6', '5', '0'};
-UINT16 string_serial[USB_SERIAL_LEN] = {'0', '1', '2', '3', '4', '5', '6',
- '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+CHAR16 adb_string_manu[] = L"Fastboot2.0";
+CHAR16 adb_string_prod[] = L"HiKey960";
+CHAR16 string_serial[] = L"0123456789ABCDEF";
+
STATIC
UINT32
DwUsb3GetEventBufEvent (
@@ -1900,21 +1898,21 @@
value = 0x4;
break;
case STRING_MANUFACTURER:
- buf[0] = (UINT8)sizeof (adb_string_manu);
+ buf[0] = (StrLen (adb_string_manu) + 1) * sizeof (CHAR16);
buf[1] = UDESC_STRING;
- CopyMem (buf + 2, adb_string_manu, sizeof (adb_string_manu));
+ StrCpy ((CHAR16 *)(buf + 2), adb_string_manu);
value = buf[0];
break;
case STRING_PRODUCT:
- buf[0] = (UINT8)sizeof (adb_string_prod);
+ buf[0] = (StrLen (adb_string_prod) + 1) * sizeof (CHAR16);
buf[1] = UDESC_STRING;
- CopyMem (buf + 2, adb_string_prod, sizeof (adb_string_prod));
+ StrCpy ((CHAR16 *)(buf + 2), adb_string_prod);
value = buf[0];
break;
case STRING_SERIAL:
- buf[0] = (UINT8)sizeof (string_serial);
+ buf[0] = (StrLen (string_serial) + 1) * sizeof (CHAR16);
buf[1] = UDESC_STRING;
- CopyMem (buf + 2, string_serial, sizeof (string_serial));
+ StrCpy ((CHAR16 *)(buf + 2), string_serial);
value = buf[0];
break;
default: