diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2010-06-05 13:24:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-06 20:55:59 -0400 |
commit | b1d0521059789a138d19c4f940d6eca7d620a6eb (patch) | |
tree | fa0cba1674ba1592476aa5940cf8ada89f018158 /drivers/net/tg3.c | |
parent | f92d9dc1504a964acfe07e8036fa30dcef22d343 (diff) |
tg3: Avoid tx lockups on 5755+ devices
In certain edge conditions, internal tx resources can get corrupted.
This patch enables a bit that will fix the problem.
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.c')
-rw-r--r-- | drivers/net/tg3.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index bd331174550b..057e8ebc1b25 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -8214,6 +8214,9 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy) | |||
8214 | } | 8214 | } |
8215 | 8215 | ||
8216 | tp->tx_mode = TX_MODE_ENABLE; | 8216 | tp->tx_mode = TX_MODE_ENABLE; |
8217 | if ((tp->tg3_flags3 & TG3_FLG3_5755_PLUS) || | ||
8218 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) | ||
8219 | tp->tx_mode |= TX_MODE_MBUF_LOCKUP_FIX; | ||
8217 | tw32_f(MAC_TX_MODE, tp->tx_mode); | 8220 | tw32_f(MAC_TX_MODE, tp->tx_mode); |
8218 | udelay(100); | 8221 | udelay(100); |
8219 | 8222 | ||