linux/drivers/net/ethernet/marvell
Thomas Petazzoni 239a3b6636 net: mvpp2: fix DMA address calculation in mvpp2_txq_inc_put()
When TX descriptors are filled in, the buffer DMA address is split
between the tx_desc->buf_phys_addr field (high-order bits) and
tx_desc->packet_offset field (5 low-order bits).

However, when we re-calculate the DMA address from the TX descriptor in
mvpp2_txq_inc_put(), we do not take tx_desc->packet_offset into
account. This means that when the DMA address is not aligned on a 32
bytes boundary, we end up calling dma_unmap_single() with a DMA address
that was not the one returned by dma_map_single().

This inconsistency is detected by the kernel when DMA_API_DEBUG is
enabled. We fix this problem by properly calculating the DMA address in
mvpp2_txq_inc_put().

Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-21 13:16:14 -05:00
..
Kconfig net: mvneta: select GENERIC_ALLOCATOR 2016-12-10 17:27:53 -05:00
Makefile net: mvneta: bm: add support for hardware buffer management 2016-03-14 12:19:46 -04:00
mv643xx_eth.c net: mv643xx_eth: Do not clobber PHY link outside of state machine 2017-02-07 13:48:21 -05:00
mvmdio.c net: mvmdio: do not clk_disable_unprepare() NULL clock 2016-10-03 02:03:27 -04:00
mvneta_bm.c net: mvneta: Fix lacking spinlock initialization 2016-05-25 12:35:08 -07:00
mvneta_bm.h net: mvneta: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
mvneta.c net: mvneta: make mvneta_eth_tool_ops static 2017-02-17 12:16:29 -05:00
mvpp2.c net: mvpp2: fix DMA address calculation in mvpp2_txq_inc_put() 2017-02-21 13:16:14 -05:00
pxa168_eth.c net: pxa168_eth: Do not clobber PHY link outside of state machine 2017-02-07 13:48:21 -05:00
skge.c skge: use napi_complete_done() 2017-02-05 16:11:57 -05:00
skge.h skge: Rename LED_OFF and LED_ON in marvel skge driver to avoid conflicts with leds namespace 2016-10-18 11:56:30 -04:00
sky2.c net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
sky2.h net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00