mirror of
https://github.com/torvalds/linux.git
synced 2024-12-15 23:51:46 +00:00
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>
This commit is contained in:
parent
f2c3166276
commit
4487e64de6
@ -2159,13 +2159,6 @@ static int pch_gbe_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
||||
struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
|
||||
unsigned long flags;
|
||||
|
||||
if (unlikely(skb->len > (adapter->hw.mac.max_frame_size - 4))) {
|
||||
pr_err("Transfer length Error: skb len: %d > max: %d\n",
|
||||
skb->len, adapter->hw.mac.max_frame_size);
|
||||
dev_kfree_skb_any(skb);
|
||||
adapter->stats.tx_length_errors++;
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags)) {
|
||||
/* Collision - tell upper layer to requeue */
|
||||
return NETDEV_TX_LOCKED;
|
||||
|
Loading…
Reference in New Issue
Block a user