[PATCH 1/2] usb: ehci: fix include/usb/usb.h:'struct usb_configuration' misuse
Antony Pavlov
antonynpavlov at gmail.com
Tue Sep 1 05:48:07 PDT 2015
See the commit
commit 245069bcef15ecc19db616a967501349b76c84d0
Author: Sascha Hauer <s.hauer at pengutronix.de>
Date: Thu Jul 10 11:36:12 2014 +0200
USB: introduce usb_interface/usb_configuration structs
On little endian systems like ARM the le16_to_cpus() macro
is a no op, defined as:
#define le16_to_cpus __le16_to_cpus
#define __le16_to_cpus(x) do {} while (0)
So struct usb_configuration field misuse was discovered
on big-endian MIPS machine.
Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
drivers/usb/core/usb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 9073fff..f8d6014 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -191,7 +191,7 @@ static int usb_parse_config(struct usb_device *dev, unsigned char *buffer, int c
return -1;
}
memcpy(&dev->config, buffer, buffer[0]);
- le16_to_cpus(&(dev->config.wTotalLength));
+ le16_to_cpus(&(dev->config.desc.wTotalLength));
dev->config.no_of_if = 0;
index = dev->config.desc.bLength;
--
2.5.0
More information about the barebox
mailing list