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

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

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2017-02-10 13:59:04
Also in: linux-renesas-soc

On Wed, Jan 25, 2017 at 5:18 PM, Sergei Shtylyov
[off-list ref] wrote:
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

Gr{oetje,eeting}s,

                        Geert
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help