diff options
author | Tom Rini <trini@ti.com> | 2011-12-15 08:40:51 -0700 |
---|---|---|
committer | Remy Bohmer <linux@bohmer.net> | 2011-12-16 21:37:17 +0100 |
commit | b2fb47f1873ae812ce33129996a22b11a36d0aa9 (patch) | |
tree | 8afeef2bce3d0ca0aa44ed59956086f6dae2767c /include | |
parent | ddc7e541ae62f29d85b35cdf8d12c7322d353d51 (diff) | |
download | u-boot-b2fb47f1873ae812ce33129996a22b11a36d0aa9.tar.gz u-boot-b2fb47f1873ae812ce33129996a22b11a36d0aa9.tar.xz u-boot-b2fb47f1873ae812ce33129996a22b11a36d0aa9.zip |
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')
-rw-r--r-- | include/usbdescriptors.h | 2 |
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; |