summaryrefslogtreecommitdiff
path: root/include/usbdescriptors.h
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2011-12-15 08:40:51 -0700
committerRemy Bohmer <linux@bohmer.net>2011-12-16 21:37:17 +0100
commitb2fb47f1873ae812ce33129996a22b11a36d0aa9 (patch)
tree8afeef2bce3d0ca0aa44ed59956086f6dae2767c /include/usbdescriptors.h
parentddc7e541ae62f29d85b35cdf8d12c7322d353d51 (diff)
downloadu-boot-b2fb47f1873ae812ce33129996a22b11a36d0aa9.tar.gz
USB: Use (get|put)_unaligned for accessing wMaxPacketSize
In 9792987721c7980453fe6447c3fa6593b44f8458 Stefan describes a usecase where the previous behavior of leaving wMaxPacketSize be unaligned caused fatal problems. The initial fix for this problem was incomplete however as it showed another cases of non-aligned access that previously worked implicitly. This switches to making sure that all access of wMaxPacketSize are done via (get|put)_unaligned. In order to maintain a level of readability to the code in some cases we now use a variable for the value of wMaxPacketSize and in others, a macro. Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Remy Bohmer <linux@bohmer.net> OpenRISC: Tested-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> Beagleboard xM, Pandaboard run-tested, s5p_goni build-tested. Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'include/usbdescriptors.h')
-rw-r--r--include/usbdescriptors.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/usbdescriptors.h b/include/usbdescriptors.h
index 392fcf5378..2dec3b93d6 100644
--- a/include/usbdescriptors.h
+++ b/include/usbdescriptors.h
@@ -199,7 +199,7 @@ struct usb_endpoint_descriptor {
u8 bmAttributes;
u16 wMaxPacketSize;
u8 bInterval;
-} __attribute__ ((packed)) __attribute__ ((aligned(2)));
+} __attribute__ ((packed));
struct usb_interface_descriptor {
u8 bLength;