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 | ||
