From: Michael Chan Date: Fri, 4 May 2007 00:23:35 +0000 (-0700) Subject: [BNX2]: Fix TSO problem with small MSS. X-Git-Tag: v2.6.22-rc1~1036^2~12 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=fde82055c1d0e64ff660d83c705db0e1abc9d12e;p=linux-2.6-omap-h63xx.git [BNX2]: Fix TSO problem with small MSS. Remove the check for skb->len greater than MTU when doing TSO. When the destination has a smaller MSS than the source, a TSO packet may be smaller than the MTU at the source and we still need to process it as a TSO packet. Thanks to Brian Ristuccia for reporting the problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 605347f7c40..88b33c6ddda 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -4836,8 +4836,7 @@ bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev) vlan_tag_flags |= (TX_BD_FLAGS_VLAN_TAG | (vlan_tx_tag_get(skb) << 16)); } - if ((mss = skb_shinfo(skb)->gso_size) && - (skb->len > (bp->dev->mtu + ETH_HLEN))) { + if ((mss = skb_shinfo(skb)->gso_size)) { u32 tcp_opt_len, ip_tcp_len; struct iphdr *iph;