Thread (7 messages) flat view 7 messages, 4 authors, 2017-02-13

Re: [PATCH/RFC v3 net] ravb: unmap descriptors when freeing rings

From: Simon Horman <horms@verge.net.au>
Date: 2017-02-13 12:09:19
Also in: linux-renesas-soc

On Fri, Feb 10, 2017 at 02:52:50PM +0100, Geert Uytterhoeven wrote:
On Wed, Jan 25, 2017 at 5:18 PM, Sergei Shtylyov
[off-list ref] wrote:
quoted
On 01/24/2017 09:21 PM, Simon Horman wrote:
quoted
From: Kazuya Mizuguchi <redacted>

"swiotlb buffer is full" errors occur after repeated initialisation of a
device - f.e. suspend/resume or ip link set up/down. This is because
memory
mapped using dma_map_single() in ravb_ring_format() and ravb_start_xmit()
is not released.  Resolve this problem by unmapping descriptors when
freeing rings.

   Could you look into the sh_eth driver which seems to have the same issue?
Indeed, after a few suspend/resume cycles on r8a7791/koelsch:

WARNING: CPU: 1 PID: 1699 at lib/dma-debug.c:517 add_dma_entry+0xfc/0x148
DMA-API: exceeded 7 overlapping mappings of cacheline 0x0000000001a827e3
Thanks for confirming that. It matches my expectation after
reading of the sh_eth code.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help