mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
USB: Use (get|put)_unaligned for accessing wMaxPacketSize
In 9792987721
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>
This commit is contained in:
parent
ddc7e541ae
commit
b2fb47f187
6 changed files with 39 additions and 21 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue