]> git.baikalelectronics.ru Git - kernel.git/commit
net: mv643xx_eth: Ensure proper data alignment in TSO TX path
authorPhilipp Kirchhofer <philipp@familie-kirchhofer.de>
Sun, 18 Oct 2015 14:02:43 +0000 (16:02 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Oct 2015 14:36:38 +0000 (07:36 -0700)
commit0031b79d1c3075f15646e3dc592e0ce88d1e382c
tree4ea55487cebc9fc74006dd32161a677e64896f47
parenta1947fe8d794a83270e69fd5bf8e6f378390ecea
net: mv643xx_eth: Ensure proper data alignment in TSO TX path

The TX DMA engine requires that buffers with a size of 8 bytes or smaller
must be 64 bit aligned. This requirement may be violated when doing TSO,
as in this case larger skb frags can be broken up and transmitted in small
parts with then inappropriate alignment.

Fix this by checking for proper alignment before handing a buffer to the
DMA engine. If the data is misaligned realign it by copying it into the
TSO header data area.

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