aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2007-05-03 20:23:35 -0400
committerDavid S. Miller <davem@davemloft.net>2007-05-03 20:23:35 -0400
commitfde82055c1d0e64ff660d83c705db0e1abc9d12e (patch)
tree3196adab597fa441527fb2804a33c615a5a8102c /drivers/net/bnx2.c
parent7562f876cd93800f2f8c89445f2a563590b24e09 (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>
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c3
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