]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.14.108/ixgbe-fix-older-devices-that-do-not-support-ixgbe_mr.patch
Linux 4.14.108
[thirdparty/kernel/stable-queue.git] / releases / 4.14.108 / ixgbe-fix-older-devices-that-do-not-support-ixgbe_mr.patch
1 From 7abff80b7274e2d11ff03b9b2a42344173650a83 Mon Sep 17 00:00:00 2001
2 From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
3 Date: Mon, 28 Jan 2019 09:45:01 -0800
4 Subject: ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN
5
6 [ Upstream commit 156a67a9065e3339be85f811d1b13b920e50d73b ]
7
8 The enabling L3/L4 filtering for transmit switched packets for all
9 devices caused unforeseen issue on older devices when trying to send UDP
10 traffic in an ordered sequence. This bit was originally intended for X550
11 devices, which supported this feature, so limit the scope of this bit to
12 only X550 devices.
13
14 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
15 Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
16 Signed-off-by: Sasha Levin <sashal@kernel.org>
17 ---
18 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 +++++--
19 1 file changed, 5 insertions(+), 2 deletions(-)
20
21 diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
22 index 42183a8b649c..01c120d656c5 100644
23 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
24 +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
25 @@ -3827,8 +3827,11 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
26 else
27 mrqc = IXGBE_MRQC_VMDQRSS64EN;
28
29 - /* Enable L3/L4 for Tx Switched packets */
30 - mrqc |= IXGBE_MRQC_L3L4TXSWEN;
31 + /* Enable L3/L4 for Tx Switched packets only for X550,
32 + * older devices do not support this feature
33 + */
34 + if (hw->mac.type >= ixgbe_mac_X550)
35 + mrqc |= IXGBE_MRQC_L3L4TXSWEN;
36 } else {
37 if (tcs > 4)
38 mrqc = IXGBE_MRQC_RTRSS8TCEN;
39 --
40 2.19.1
41