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

Commit 378b72c8 authored by Nithin Sujir's avatar Nithin Sujir Committed by David S. Miller
Browse files

tg3: Fix UDP fragments treated as RMCP



The 5762 devices sometimes incorrectly treat udp fragments as RMCP
packets and route to the APE. This patch sets the RX_MODE_IPV4_FRAG_FIX
bit for these devices which enables the proper behaviour.

Signed-off-by: default avatarNithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 92e6457d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -10420,6 +10420,9 @@ static int tg3_reset_hw(struct tg3 *tp, bool reset_phy)
	if (tg3_flag(tp, 5755_PLUS))
		tp->rx_mode |= RX_MODE_IPV6_CSUM_ENABLE;

	if (tg3_asic_rev(tp) == ASIC_REV_5762)
		tp->rx_mode |= RX_MODE_IPV4_FRAG_FIX;

	if (tg3_flag(tp, ENABLE_RSS))
		tp->rx_mode |= RX_MODE_RSS_ENABLE |
			       RX_MODE_RSS_ITBL_HASH_BITS_7 |
+1 −0
Original line number Diff line number Diff line
@@ -532,6 +532,7 @@
#define  RX_MODE_RSS_ITBL_HASH_BITS_7	 0x00700000
#define  RX_MODE_RSS_ENABLE		 0x00800000
#define  RX_MODE_IPV6_CSUM_ENABLE	 0x01000000
#define  RX_MODE_IPV4_FRAG_FIX		 0x02000000
#define MAC_RX_STATUS			0x0000046c
#define  RX_STATUS_REMOTE_TX_XOFFED	 0x00000001
#define  RX_STATUS_XOFF_RCVD		 0x00000002