1 |
From 8b0db0dff2f39452e2a48df2fbd3e4b7f6af76ef Mon Sep 17 00:00:00 2001 |
2 |
From: Sasha Levin <sashal@kernel.org> |
3 |
Date: Mon, 22 Aug 2022 11:06:54 -0400 |
4 |
Subject: bnxt_en: fix LRO/GRO_HW features in ndo_fix_features callback |
5 |
|
6 |
From: Vikas Gupta <vikas.gupta@broadcom.com> |
7 |
|
8 |
[ Upstream commit 366c304741729e64d778c80555d9eb422cf5cc89 ] |
9 |
|
10 |
LRO/GRO_HW should be disabled if there is an attached XDP program. |
11 |
BNXT_FLAG_TPA is the current setting of the LRO/GRO_HW. Using |
12 |
BNXT_FLAG_TPA to disable LRO/GRO_HW will cause these features to be |
13 |
permanently disabled once they are disabled. |
14 |
|
15 |
Fixes: 1dc4c557bfed ("bnxt: adding bnxt_xdp_build_skb to build skb from multibuffer xdp_buff") |
16 |
Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> |
17 |
Signed-off-by: Michael Chan <michael.chan@broadcom.com> |
18 |
Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
19 |
Signed-off-by: Sasha Levin <sashal@kernel.org> |
20 |
--- |
21 |
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 +---- |
22 |
1 file changed, 1 insertion(+), 4 deletions(-) |
23 |
|
24 |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
25 |
index cf9b00576ed36..964354536f9ce 100644 |
26 |
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
27 |
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c |
28 |
@@ -11183,10 +11183,7 @@ static netdev_features_t bnxt_fix_features(struct net_device *dev, |
29 |
if ((features & NETIF_F_NTUPLE) && !bnxt_rfs_capable(bp)) |
30 |
features &= ~NETIF_F_NTUPLE; |
31 |
|
32 |
- if (bp->flags & BNXT_FLAG_NO_AGG_RINGS) |
33 |
- features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW); |
34 |
- |
35 |
- if (!(bp->flags & BNXT_FLAG_TPA)) |
36 |
+ if ((bp->flags & BNXT_FLAG_NO_AGG_RINGS) || bp->xdp_prog) |
37 |
features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW); |
38 |
|
39 |
if (!(features & NETIF_F_GRO)) |
40 |
-- |
41 |
2.35.1 |
42 |
|