diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2009-11-02 09:23:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-03 02:39:00 -0500 |
commit | 92c6b8d16a36df3f28b2537bed2a56491fb08f11 (patch) | |
tree | 13f89b031c7c82163233963c24bfe20312ba901e /drivers/net/tg3.h | |
parent | 0e1406dd404ce55dbe8d68b4b5e2aed7e5c75fdb (diff) |
tg3: Fix 5906 transmit hangs
The 5906 has trouble with fragments that are less than 8 bytes in size.
This patch works around the problem by pivoting the 5906's transmit
routine to tg3_start_xmit_dma_bug() and introducing a new SHORT_DMA_BUG
flag that enables code to detect and react to the problematic condition.
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 b603810b4e9b..a5568a149748 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -2761,6 +2761,7 @@ struct tg3 { | |||
2761 | #define TG3_FLG3_ENABLE_RSS 0x00020000 | 2761 | #define TG3_FLG3_ENABLE_RSS 0x00020000 |
2762 | #define TG3_FLG3_4G_DMA_BNDRY_BUG 0x00080000 | 2762 | #define TG3_FLG3_4G_DMA_BNDRY_BUG 0x00080000 |
2763 | #define TG3_FLG3_40BIT_DMA_LIMIT_BUG 0x00100000 | 2763 | #define TG3_FLG3_40BIT_DMA_LIMIT_BUG 0x00100000 |
2764 | #define TG3_FLG3_SHORT_DMA_BUG 0x00200000 | ||
2764 | 2765 | ||
2765 | struct timer_list timer; | 2766 | struct timer_list timer; |
2766 | u16 timer_counter; | 2767 | u16 timer_counter; |