OSDN Git Service

be2net: Fix HW stall issue in Lancer
authorSuresh Reddy <suresh.reddy@broadcom.com>
Tue, 6 Feb 2018 13:52:41 +0000 (08:52 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Feb 2018 16:48:17 +0000 (11:48 -0500)
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>
drivers/net/ethernet/emulex/benet/be_main.c

index d81e2d3..286d591 100644 (file)
@@ -5104,9 +5104,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;
        }