Anton Vorontsov wrote:
> diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
> index 8bd3c9f..cccb409 100644
> --- a/drivers/net/gianfar.c
> +++ b/drivers/net/gianfar.c
> @@ -2021,7 +2021,6 @@ static int gfar_start_xmit(struct sk_buff *skb, struct 
> net_device *dev)
>       }
>  
>       /* setup the TxBD length and buffer pointer for the first BD */
> -     tx_queue->tx_skbuff[tx_queue->skb_curtx] = skb;
>       txbdp_start->bufPtr = dma_map_single(&priv->ofdev->dev, skb->data,
>                       skb_headlen(skb), DMA_TO_DEVICE);
>  
> @@ -2053,6 +2052,10 @@ static int gfar_start_xmit(struct sk_buff *skb, struct 
> net_device *dev)
>  
>       txbdp_start->lstatus = lstatus;
>  
> +     eieio(); /* force lstatus write before tx_skbuff */
> +
> +     tx_queue->tx_skbuff[tx_queue->skb_curtx] = skb;
> +
>       /* Update the current skb pointer to the next entry we will use
>        * (wrapping if necessary) */
>       tx_queue->skb_curtx = (tx_queue->skb_curtx + 1) &
>   
I can confirm 10/10 successful boots on p2020ds and mpc8641_hpcn.

Martyn


-- 
Martyn Welch (Principal Software Engineer)   |   Registered in England and
GE Intelligent Platforms                     |   Wales (3828642) at 100
T +44(0)127322748                            |   Barbirolli Square, Manchester,
E martyn.we...@ge.com                        |   M2 3AB  VAT:GB 927559189

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to