Skip to content

Commit

Permalink
sh_eth: Really fix padding of short frames on TX
Browse files Browse the repository at this point in the history
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" <[email protected]>
Fixes: 612a17a54b50 ("sh_eth: Fix padding of short frames on TX")
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
bwh-ct authored and davem330 committed Mar 3, 2015
1 parent 9b4a636 commit dacc73e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/net/ethernet/renesas/sh_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit dacc73e

Please sign in to comment.