mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
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>
This commit is contained in:
parent
f92d9dc150
commit
b1d0521059
@ -8214,6 +8214,9 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
|
||||
}
|
||||
|
||||
tp->tx_mode = TX_MODE_ENABLE;
|
||||
if ((tp->tg3_flags3 & TG3_FLG3_5755_PLUS) ||
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906)
|
||||
tp->tx_mode |= TX_MODE_MBUF_LOCKUP_FIX;
|
||||
tw32_f(MAC_TX_MODE, tp->tx_mode);
|
||||
udelay(100);
|
||||
|
||||
|
@ -469,6 +469,7 @@
|
||||
#define TX_MODE_FLOW_CTRL_ENABLE 0x00000010
|
||||
#define TX_MODE_BIG_BCKOFF_ENABLE 0x00000020
|
||||
#define TX_MODE_LONG_PAUSE_ENABLE 0x00000040
|
||||
#define TX_MODE_MBUF_LOCKUP_FIX 0x00000100
|
||||
#define MAC_TX_STATUS 0x00000460
|
||||
#define TX_STATUS_XOFFED 0x00000001
|
||||
#define TX_STATUS_SENT_XOFF 0x00000002
|
||||
|
Loading…
Reference in New Issue
Block a user