usb_device_get_string converts incoming ucs-2 text
to ascii by truncating the upper byte of each
character. This is error prone.
This patch introduces usb_device_get_string_ucs2
to access raw USB string descriptors, as well as
changes usb_device_get_string to replace any non
ascii character with '?'.
Bug: 70163357
Change-Id: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Merged-In: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Test: Connected & disconnected a NuForceDAC.
usb_device_control_transfer used to use "0" value in control_transfer
call which resulted in unlimited timeout. In case of bad USB devices
connected it resulted in usbhost stuck state.
Bug: 31923641
Test: manual run and test with bad devices.
Change-Id: I4a2a691a6d83107f72ba506522c932085bd09624
Parameter is implicily converted to unsigned when assigned to the struct,
so make sure users are aware of this.
Test: compiled
Change-Id: I25ca6b24591497aa4e7ce8db262ce1099c2b7b09