]> git.baikalelectronics.ru Git - kernel.git/commit
net: fec: Call swap_buffer() prior to IP header alignment
authorFabio Estevam <fabio.estevam@nxp.com>
Fri, 21 Oct 2016 11:34:29 +0000 (09:34 -0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 23 Oct 2016 21:41:41 +0000 (17:41 -0400)
commit31f0e57212e48b456f0920605140f21490e63702
treeb6a4b5958de3cd03351164b333a3fe2dcabeef98
parent19c9f517b6b306f2d3e4b468891d62cbbc2c9f9f
net: fec: Call swap_buffer() prior to IP header alignment

Commit 761348a018a5 ("net: fec: align IP header in hardware") breaks
networking on mx28.

There is an erratum on mx28 (ENGR121613 - ENET big endian mode
not compatible with ARM little endian) that requires an additional
byte-swap operation to workaround this problem.

So call swap_buffer() prior to performing the IP header alignment
to restore network functionality on mx28.

Fixes: 761348a018a5 ("net: fec: align IP header in hardware")
Reported-and-tested-by: Henri Roosen <henri.roosen@ginzinger.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c