diff options
author | Michael Chan <mchan@broadcom.com> | 2007-05-03 20:23:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-05-03 20:23:35 -0400 |
commit | fde82055c1d0e64ff660d83c705db0e1abc9d12e (patch) | |
tree | 3196adab597fa441527fb2804a33c615a5a8102c | |
parent | 7562f876cd93800f2f8c89445f2a563590b24e09 (diff) |
[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>
-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) | |||
4836 | vlan_tag_flags |= | 4836 | vlan_tag_flags |= |
4837 | (TX_BD_FLAGS_VLAN_TAG | (vlan_tx_tag_get(skb) << 16)); | 4837 | (TX_BD_FLAGS_VLAN_TAG | (vlan_tx_tag_get(skb) << 16)); |
4838 | } | 4838 | } |
4839 | if ((mss = skb_shinfo(skb)->gso_size) && | 4839 | if ((mss = skb_shinfo(skb)->gso_size)) { |
4840 | (skb->len > (bp->dev->mtu + ETH_HLEN))) { | ||
4841 | u32 tcp_opt_len, ip_tcp_len; | 4840 | u32 tcp_opt_len, ip_tcp_len; |
4842 | struct iphdr *iph; | 4841 | struct iphdr *iph; |
4843 | 4842 | ||