On Wed, Jan 25, 2017 at 5:18 PM, Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> wrote: > On 01/24/2017 09:21 PM, Simon Horman wrote: > >> From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> >> >> "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 -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds