summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/usb.c
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2015-09-01 15:48:07 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2015-09-02 07:53:02 +0200
commiteeab50e9619c1922649bb3d9d9da8241f84d81e1 (patch)
treeae3a79d738936b3deeb9e213602fdf7502016f22 /drivers/usb/core/usb.c
parent069031f8ce752a9472019adb8bcbdac8722d773f (diff)
downloadbarebox-eeab50e9619c1922649bb3d9d9da8241f84d81e1.tar.gz
barebox-eeab50e9619c1922649bb3d9d9da8241f84d81e1.tar.xz
usb: ehci: fix include/usb/usb.h:'struct usb_configuration' misuse
See the commit commit 245069bcef15ecc19db616a967501349b76c84d0 Author: Sascha Hauer <s.hauer@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@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb/core/usb.c')
-rw-r--r--drivers/usb/core/usb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 9073fff4be..f8d6014b30 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;