net: fec_mxc: Fix timeouts during tftp transfer
authorFabio Estevam <fabio.estevam@freescale.com>
Wed, 18 Sep 2013 02:13:10 +0000 (23:13 -0300)
committerStefano Babic <sbabic@denx.de>
Fri, 20 Sep 2013 15:55:37 +0000 (17:55 +0200)
commitfd37f195cacc068ad4c070dd794643fcb25ef21a
tree517c178c74e02b31866618de48d658806fd52f6e
parent1d585241264e5bf465e398cde4cc6c4e42c0a27e
net: fec_mxc: Fix timeouts during tftp transfer

Performing tftp transfers on mx28 results in random timeouts.

Hector Palacios and Robert Hodaszi analyzed the root cause being related to the
wrong alignment of the 'buff' buffer inside fec_recv().

Benoît Thébaudeau provided an excellent analysis of the alignment bug that is
present on older versions, such as GCC 4.5.4:

http://marc.info/?l=u-boot&m=137942904906131&w=2

Use ALLOC_CACHE_ALIGN_BUFFER() to avoid alignment issues from older GCC
versions.

Reported-by: Hector Palacios <hector.palacios@digi.com>
Tested-by: Oliver Metz <oliver@freetz.org>
Tested-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de>
drivers/net/fec_mxc.c