net: mv643xx_eth: Defer writing the first TX descriptor when using TSO
authorPhilipp Kirchhofer <philipp@familie-kirchhofer.de>
Sun, 18 Oct 2015 14:02:44 +0000 (16:02 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Oct 2015 14:36:41 +0000 (07:36 -0700)
commit968200f322daccc6f08fee26fe1bb4232e460408
treee79e6ba017b03469d9d67a3b5e8b852c63063381
parent91986fd3d335a2ea651bc85cf5a03f2f61a2aa34
net: mv643xx_eth: Defer writing the first TX descriptor when using TSO

To prevent a race between the TX DMA engine and the CPU the writing of the
first transmit descriptor must be deferred until all following descriptors
have been updated. The network card may otherwise start transmitting before
all packet descriptors are set up correctly, which leads to data corruption
or an aborted transmit operation.

This deferral is already done in the non-TSO TX path, implement it also in
the TSO TX path.

Signed-off-by: Philipp Kirchhofer <philipp@familie-kirchhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mv643xx_eth.c