diff options
author | Andy Cress <andycress@gmail.com> | 2012-07-26 02:01:17 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-26 17:30:23 -0400 |
commit | 4487e64de63b8e42efe5a5543871c42c5a5859d9 (patch) | |
tree | 7acaa761ef550ba879816ea05eb531c6b70099d1 /drivers/net/ethernet/oki-semi/pch_gbe | |
parent | f2c31662762b9e82b9891d6b385b17f9e5ef0ed2 (diff) |
pch_gbe: vlan skb len fix
pch_gbe_xmit_frame skb->len verification was incorrect in vlan case
causing bogus transfer length errors. One correction could be:
offset = skb->protocol == htons(ETH_P_8021Q) ? 0 : 4;
if (unlikely(skb->len > (adapter->hw.mac.max_frame_size - offset)))
However, this verification is not necessary, so remove it.
Signed-off-by: Andy Cress <andy.cress@us.kontron.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/oki-semi/pch_gbe')
-rw-r--r-- | drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c index 1bb4cd14b149..feb85d56c750 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | |||
@@ -2159,13 +2159,6 @@ static int pch_gbe_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
2159 | struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring; | 2159 | struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring; |
2160 | unsigned long flags; | 2160 | unsigned long flags; |
2161 | 2161 | ||
2162 | if (unlikely(skb->len > (adapter->hw.mac.max_frame_size - 4))) { | ||
2163 | pr_err("Transfer length Error: skb len: %d > max: %d\n", | ||
2164 | skb->len, adapter->hw.mac.max_frame_size); | ||
2165 | dev_kfree_skb_any(skb); | ||
2166 | adapter->stats.tx_length_errors++; | ||
2167 | return NETDEV_TX_OK; | ||
2168 | } | ||
2169 | if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags)) { | 2162 | if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags)) { |
2170 | /* Collision - tell upper layer to requeue */ | 2163 | /* Collision - tell upper layer to requeue */ |
2171 | return NETDEV_TX_LOCKED; | 2164 | return NETDEV_TX_LOCKED; |