mirror of
https://xff.cz/git/u-boot/
synced 2025-11-01 19:05:51 +01:00
usb: Use get_unaligned() in usb_endpoint_maxp() for wMaxPacketSize
Use unaligned access to fetch wMaxPacketSize in usb_endpoint_maxp()
api.
In its absence we see following data abort message:
==============================================================
data abort
MAYBE you should read doc/README.arm-unaligned-accesses
pc : [<bf794e24>] lr : [<bf794e1c>]
sp : bf37c7b0 ip : 0000002f fp : 00000000
r10: 00000000 r9 : 00000002 r8 : bf37fecc
r7 : 00000001 r6 : bf7d8931 r5 : bf7d891c r4 : bf7d8800
r3 : bf7d65b0 r2 : 00000002 r1 : bf7d65b4 r0 : 00000027
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
resetting ...
==============================================================
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Ilya Yanok <ilya.yanok@cogentembedded.com>
Cc: Marek Vasut <marex@denx.de>
This commit is contained in:
committed by
Marek Vasut
parent
4edcf0a3df
commit
f903a20d1f
@@ -35,6 +35,7 @@
|
||||
|
||||
#include <linux/types.h> /* __u8 etc */
|
||||
#include <asm/byteorder.h> /* le16_to_cpu */
|
||||
#include <asm/unaligned.h> /* get_unaligned() */
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
@@ -596,7 +597,7 @@ static inline int usb_endpoint_is_isoc_out(
|
||||
*/
|
||||
static inline int usb_endpoint_maxp(const struct usb_endpoint_descriptor *epd)
|
||||
{
|
||||
return __le16_to_cpu(epd->wMaxPacketSize);
|
||||
return __le16_to_cpu(get_unaligned(&epd->wMaxPacketSize));
|
||||
}
|
||||
|
||||
static inline int usb_endpoint_interrupt_type(
|
||||
|
||||
Reference in New Issue
Block a user