[U-Boot] [PATCH] net: fec: Avoid MX28 bus sync issue

Oliver Metz
2013-09-15T18:12:57Z

Dear Fabio,

>Hi Robert and Hector,
>
>On Fri, Sep 13, 2013 at 2:46 PM, Wolfgang Denk <[hidden email]> wrote:
>
>> That's ALLOC_CACHE_ALIGN_BUFFER. Thanks.
>
>Could you please let us know wthether the change below fix the problem?
>
>Thanks,
>
>Fabio Estevam
>
>--- a/drivers/net/fec_mxc.c
>+++ b/drivers/net/fec_mxc.c
>@@ -794,7 +794,7 @@ static int fec_recv(struct eth_device *dev)
> uint16_t bd_status;
> uint32_t addr, size, end;
> int i;
>- uchar buff[FEC_MAX_PKT_SIZE] __aligned(ARCH_DMA_MINALIGN);
>+ ALLOC_CACHE_ALIGN_BUFFER(uchar, buff, FEC_MAX_PKT_SIZE);
>
> /*
> * Check if any critical events have happened

I can confirm that this patch fixes the issue for me on the mx28 board. Before the patch transmitting a linux kernel archive failed many times. With the patch applied the file was transfered successfully with the first try.

Used gcc version:
gcc version 4.5.4 20110808 (prerelease) (Linaro GCC 4.5-2011.08)

Regards
Oliver