diff options
| -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 | ||
