Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4487e64d authored by Andy Cress's avatar Andy Cress Committed by David S. Miller
Browse files

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: default avatarAndy Cress <andy.cress@us.kontron.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f2c31662
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -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;