diff options
author | Michael Chan <mchan@broadcom.com> | 2007-05-03 17:23:35 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-05-03 17:23:35 -0700 |
commit | fde82055c1d0e64ff660d83c705db0e1abc9d12e (patch) | |
tree | 3196adab597fa441527fb2804a33c615a5a8102c /drivers/net | |
parent | 7562f876cd93800f2f8c89445f2a563590b24e09 (diff) | |
download | linux-fde82055c1d0e64ff660d83c705db0e1abc9d12e.tar.bz2 |
[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 <bristuccia@starentnetworks.com> for
reporting the problem.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/bnx2.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 605347f7c408..88b33c6ddda8 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; |