diff options
author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2017-04-17 15:55:22 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-04-18 22:04:32 -0400 |
commit | 1debdc8f9ebd07daf140e417b3841596911e0066 (patch) | |
tree | 08420b64ac5becc6dcd37ffe41b2275b732957e0 /lib/gcd.c | |
parent | 005882e53d62f25dae10351a8d3f13326051e8f5 (diff) | |
download | linux-stable-1debdc8f9ebd07daf140e417b3841596911e0066.tar.gz linux-stable-1debdc8f9ebd07daf140e417b3841596911e0066.tar.bz2 linux-stable-1debdc8f9ebd07daf140e417b3841596911e0066.zip |
sh_eth: unmap DMA buffers when freeing rings
The DMA API debugging (when enabled) causes:
WARNING: CPU: 0 PID: 1445 at lib/dma-debug.c:519 add_dma_entry+0xe0/0x12c
DMA-API: exceeded 7 overlapping mappings of cacheline 0x01b2974d
to be printed after repeated initialization of the Ether device, e.g.
suspend/resume or 'ifconfig' up/down. This is because DMA buffers mapped
using dma_map_single() in sh_eth_ring_format() and sh_eth_start_xmit() are
never unmapped. Resolve this problem by unmapping the buffers when freeing
the descriptor rings; in order to do it right, we'd have to add an extra
parameter to sh_eth_txfree() (we rename this function to sh_eth_tx_free(),
while at it).
Based on the commit a47b70ea86bd ("ravb: unmap descriptors when freeing
rings").
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/gcd.c')
0 files changed, 0 insertions, 0 deletions