]> 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)
commit2ebecbfcb99a57cab905f0fe3fd9929320a3c71b
treeb6a4b5958de3cd03351164b333a3fe2dcabeef98
parent2d36e6c57342e5cba1de518a80604e1f94503791
net: fec: Call swap_buffer() prior to IP header alignment

Commit 4d61d2b9cab7 ("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: 4d61d2b9cab7 ("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