Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1d05210 authored by Matt Carlson's avatar Matt Carlson Committed by David S. Miller
Browse files

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: default avatarMatt Carlson <mcarlson@broadcom.com>
Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f92d9dc1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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);

+1 −0
Original line number Diff line number Diff line
@@ -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