diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2008-04-19 21:12:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-19 21:12:33 -0400 |
commit | 41588ba1ae166eaba0a70abf2d7ff064ad9331d3 (patch) | |
tree | 4ec3ef51db69aa0f9b6446435580115aa68098f7 /drivers/net/tg3.h | |
parent | 36ef408061da9e012375547d69b27cc1f537b044 (diff) |
tg3: 5701 DMA corruption fix
Herbert Xu's commit fb93134dfc2a6e6fbedc7c270a31da03fce88db9, entitled
"[TCP]: Fix size calculation in sk_stream_alloc_pskb", has triggered a
bug in the 5701 where the 5701 DMA engine will corrupt outgoing
packets. This problem only happens when the starting address of the
packet matches a certain range of offsets and only when the 5701 is
placed downstream of a particular Intel bridge.
This patch detects the problematic bridge and if present, readjusts the
starting address of the packet data to a dword aligned boundary.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.h')
-rw-r--r-- | drivers/net/tg3.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index c1075a73d66c..c688c3ac5035 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -2476,6 +2476,7 @@ struct tg3 { | |||
2476 | #define TG3_FLG3_NO_NVRAM_ADDR_TRANS 0x00000001 | 2476 | #define TG3_FLG3_NO_NVRAM_ADDR_TRANS 0x00000001 |
2477 | #define TG3_FLG3_ENABLE_APE 0x00000002 | 2477 | #define TG3_FLG3_ENABLE_APE 0x00000002 |
2478 | #define TG3_FLG3_5761_5784_AX_FIXES 0x00000004 | 2478 | #define TG3_FLG3_5761_5784_AX_FIXES 0x00000004 |
2479 | #define TG3_FLG3_5701_DMA_BUG 0x00000008 | ||
2479 | 2480 | ||
2480 | struct timer_list timer; | 2481 | struct timer_list timer; |
2481 | u16 timer_counter; | 2482 | u16 timer_counter; |