diff options
author | Suresh Reddy <suresh.reddy@broadcom.com> | 2018-02-06 08:52:41 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-02-06 11:48:17 -0500 |
commit | 3df40aad1a864af124bd50a1371ef16089ac9af2 (patch) | |
tree | 9fc84f3d7249645ad12df5aa888146b644aeff30 | |
parent | 2c0aa08631b86a4678dbc93b9caa5248014b4458 (diff) |
be2net: Fix HW stall issue in Lancer
Lancer HW cannot handle a TSO packet with a single segment.
Disable TSO/GSO for such packets.
Signed-off-by: Suresh Reddy <suresh.reddy@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index d81e2d37bc3d..286d591c574e 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -5104,9 +5104,12 @@ static netdev_features_t be_features_check(struct sk_buff *skb, | |||
5104 | features &= ~NETIF_F_TSO6; | 5104 | features &= ~NETIF_F_TSO6; |
5105 | 5105 | ||
5106 | /* Lancer cannot handle the packet with MSS less than 256. | 5106 | /* Lancer cannot handle the packet with MSS less than 256. |
5107 | * Also it can't handle a TSO packet with a single segment | ||
5107 | * Disable the GSO support in such cases | 5108 | * Disable the GSO support in such cases |
5108 | */ | 5109 | */ |
5109 | if (lancer_chip(adapter) && skb_shinfo(skb)->gso_size < 256) | 5110 | if (lancer_chip(adapter) && |
5111 | (skb_shinfo(skb)->gso_size < 256 || | ||
5112 | skb_shinfo(skb)->gso_segs == 1)) | ||
5110 | features &= ~NETIF_F_GSO_MASK; | 5113 | features &= ~NETIF_F_GSO_MASK; |
5111 | } | 5114 | } |
5112 | 5115 | ||