diff options
author | Robert Morell <rmorell@nvidia.com> | 2010-12-15 14:57:16 -0800 |
---|---|---|
committer | Janne Hellsten <jhellsten@nvidia.com> | 2010-12-17 11:51:52 -0800 |
commit | 1acea7081799e0d64a00cc982bc9f8dd97432f49 (patch) | |
tree | e888c2263289646a5a3b510b0ae0c713e8342b53 /include | |
parent | baa6624fecd5fa340e3773a2329b354e45c89f79 (diff) |
USB: ehci: tegra: Align DMA transfers to 32 bytes
The Tegra2 USB controller doesn't properly deal with misaligned DMA
buffers, causing corruption. This is especially prevalent with USB
network adapters, where skbuff alignment is often in the middle of a
4-byte dword.
To avoid this, allocate a temporary buffer for the DMA if the provided
buffer isn't sufficiently aligned.
Change-Id: Ica56c52c3b2152e3ba2b96506cf15105462a0602
Signed-off-by: Robert Morell <rmorell@nvidia.com>
Reviewed-on: http://git-master/r/13382
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-by: Janne Hellsten <jhellsten@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/usb.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h index 35fe6ab222bb..cd07173c1bc0 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -975,6 +975,7 @@ extern int usb_disabled(void); #define URB_SETUP_MAP_SINGLE 0x00100000 /* Setup packet DMA mapped */ #define URB_SETUP_MAP_LOCAL 0x00200000 /* HCD-local setup packet */ #define URB_DMA_SG_COMBINED 0x00400000 /* S-G entries were combined */ +#define URB_DRIVER_PRIVATE 0x80000000 /* For driver-private use */ struct usb_iso_packet_descriptor { unsigned int offset; |