On Thu, 2015-07-02 at 00:13 +0200, Eric Dumazet wrote:
> On Wed, 2015-07-01 at 10:06 -0700, Joe Perches wrote:
> > On Wed, 2015-07-01 at 12:56 +0200, Eric Dumazet wrote:
> > > On Tue, 2015-06-30 at 20:25 +0300, Nicolae Rosia wrote:
> > > > diff --git a/drivers/net/ethernet/cadence/macb.c
> > > > b/drivers/net/ethernet/cadence/macb.c
> > []
> > > > @@ -2554,9 +2554,9 @@ static void at91ether_rx(struct net_device *dev)
> > > > while (lp->rx_ring[lp->rx_tail].addr & MACB_BIT(RX_USED)) {
> > > > p_recv = lp->rx_buffers + lp->rx_tail *
> > > > AT91ETHER_MAX_RBUFF_SZ;
> > > > pktlen = MACB_BF(RX_FRMLEN,
> > > > lp->rx_ring[lp->rx_tail].ctrl);
> > > > - skb = netdev_alloc_skb(dev, pktlen + 2);
> > > > + skb = netdev_alloc_skb(dev, pktlen + NET_IP_ALIGN);
> > > > if (skb) {
> > > > - skb_reserve(skb, 2);
> > > > + skb_reserve(skb, NET_IP_ALIGN);
> > > > memcpy(skb_put(skb, pktlen), p_recv, pktlen);
> > > >
> > > > skb->protocol = eth_type_trans(skb, dev);
> > >
> > > Then please use netdev_alloc_skb_ip_align(), so that you get rid of
> > > skb_reserve()
> >
> > It seems there are ~50 of these in the kernel tree
> > that could be converted.
> >
>
> Make sure the 2 is really NET_IP_ALIGN
>
> Some hardwares need 2, even if NET_IP_ALIGN is 0 (on x86 arches for
> example)
>
> I would rather not touch this without testing the change on real
> hardware.
Nor I really.
Most all of those are in fairly old hardware drivers.
I just wanted to point out that more exist.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html