sh_eth: Really fix padding of short frames on TX
My previous fix to clear padding of short frames used skb->len as the DMA length, assuming that skb_padto() extended skb->len to include the padding. That isn't the case; we need to use skb_put_padto() instead. (This wasn't immediately obvious because software padding isn't actually needed on the R-Car H2. We could make it conditional on which chip is being driven, but it's probably not worth the effort.) Reported-by: "Violeta Menéndez González" <violeta.menendez@codethink.co.uk> Fixes: 612a17a54b50 ("sh_eth: Fix padding of short frames on TX") Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9b4a6364a6
commit
dacc73e0cf
1 changed files with 1 additions and 1 deletions
|
@ -2181,7 +2181,7 @@ static int sh_eth_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
|||
}
|
||||
spin_unlock_irqrestore(&mdp->lock, flags);
|
||||
|
||||
if (skb_padto(skb, ETH_ZLEN))
|
||||
if (skb_put_padto(skb, ETH_ZLEN))
|
||||
return NETDEV_TX_OK;
|
||||
|
||||
entry = mdp->cur_tx % mdp->num_tx_ring;
|
||||
|
|
Loading…
Reference in a new issue