[U-Boot] [PATCH v2 2/2] usb: Add CONFIG to fetch string descriptor

Puneet Saxena
2012-02-27T15:36:32Z

Add "CONFIG_USB_STRING_FETCH" to fetch string using descriptor length
then fetch actual bytes, returned in descriptor buffer.

Signed-off-by: Puneet Saxena <puneets@nvidia.com>
---

Changes for V2:
- Change config by "CONFIG_USB_STRING_FETCH"

common/usb.c | 4 ++++
include/configs/tegra2-common.h | 3 +++
2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/common/usb.c b/common/usb.c
index 2279459..83c6c5c 100644
--- a/common/usb.c
+++ b/common/usb.c
@@ -658,9 +658,13 @@ static int usb_string_sub(struct usb_device *dev, unsigned int langid,
{
int rc;

+#ifdef CONFIG_USB_STRING_FETCH
+ rc = -1;
+#else
/* Try to read the string descriptor by asking for the maximum
* possible number of bytes */
rc = usb_get_string(dev, langid, index, buf, 255);
+#endif

/* If that failed try to read the descriptor length, then
* ask for just that many bytes */
diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
index 266d0e5..420d2a9 100644
--- a/include/configs/tegra2-common.h
+++ b/include/configs/tegra2-common.h
@@ -93,6 +93,8 @@
#define CONFIG_USB_EHCI_TXFIFO_THRESH 10
#define CONFIG_EHCI_IS_TDI
#define CONFIG_EHCI_DCACHE
+/* string descriptors must not be fetched using a 255-byte read */
+#define CONFIG_USB_STRING_FETCH

/* include default commands */
#include <config_cmd_default.h>
@@ -172,4 +174,5 @@

#define CONFIG_TEGRA2_GPIO
#define CONFIG_CMD_GPIO
+
#endif /* __TEGRA2_COMMON_H */
--
1.7.1