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 /drivers/net/ethernet/emulex | |
| 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>
Diffstat (limited to 'drivers/net/ethernet/emulex')
| -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 | ||
