[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47AADC51.8060401@eptar.com>
Date: Thu, 07 Feb 2008 11:24:17 +0100
From: Claudio Lanconelli <lanconelli.claudio@...ar.com>
To: netdev@...r.kernel.org
CC: David Brownell <david-b@...bell.net>
Subject: Re: [patch 2.6.24-git] net/enc28j60: oops fix
David Brownell wrote:
> Prevent oops on enc28j60 packet RX: make sure buffers are aligned.
> Not all architectures support unaligned accesses in kernel space.
>
> Signed-off-by: David Brownell <dbrownell@...rs.sourceforge.net>
>
Acked-by: Claudio Lanconelli <lanconelli.claudio@...ar.com>
> ---
> drivers/net/enc28j60.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletion(-)
>
> --- a/drivers/net/enc28j60.c 2008-02-06 09:29:00.000000000 -0800
> +++ b/drivers/net/enc28j60.c 2008-02-06 09:30:03.000000000 -0800
> @@ -900,7 +900,7 @@ static void enc28j60_hw_rx(struct net_de
> if (RSV_GETBIT(rxstat, RSV_LENCHECKERR))
> ndev->stats.rx_frame_errors++;
> } else {
> - skb = dev_alloc_skb(len);
> + skb = dev_alloc_skb(len + NET_IP_ALIGN);
> if (!skb) {
> if (netif_msg_rx_err(priv))
> dev_err(&ndev->dev,
> @@ -908,6 +908,7 @@ static void enc28j60_hw_rx(struct net_de
> ndev->stats.rx_dropped++;
> } else {
> skb->dev = ndev;
> + skb_reserve(skb, NET_IP_ALIGN);
> /* copy the packet from the receive buffer */
> enc28j60_mem_read(priv, priv->next_pk_ptr + sizeof(rsv),
> len, skb_put(skb, len));
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists