Lancer HW cannot handle a TSO packet with a single segment. Disable TSO/GSO for such packets.
Signed-off-by: Suresh Reddy <suresh.re...@broadcom.com> --- drivers/net/ethernet/emulex/benet/be_main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index c6e859a..130fa82 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -5097,9 +5097,12 @@ static netdev_features_t be_features_check(struct sk_buff *skb, features &= ~NETIF_F_TSO6; /* Lancer cannot handle the packet with MSS less than 256. + * Also it can't handle a TSO packet with a single segment * Disable the GSO support in such cases */ - if (lancer_chip(adapter) && skb_shinfo(skb)->gso_size < 256) + if (lancer_chip(adapter) && + (skb_shinfo(skb)->gso_size < 256 || + skb_shinfo(skb)->gso_segs == 1)) features &= ~NETIF_F_GSO_MASK; } -- 1.8.3.1