]>
Commit | Line | Data |
---|---|---|
36e3f504 SL |
1 | From 6845dea6d24928857b9c2740ed20aa73e1d07635 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 6cdd58d9d461..410d5d3aa393 100644 | |
23 | --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |
24 | +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |
25 | @@ -3924,8 +3924,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 |