From: Michael Chan Date: Tue, 8 May 2007 02:04:17 +0000 (-0700) Subject: [PATCH] BNX2: Fix TSO problem with small MSS. X-Git-Tag: v2.6.21.2~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2503fa413e630097ec362ddaa57602a7e243f89f;p=thirdparty%2Fkernel%2Fstable.git [PATCH] 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 Signed-off-by: Chris Wright --- diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index e85f5ec48f96f..d6d57a17f3fdb 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -4510,8 +4510,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; if (skb_header_cloned(skb) &&