ravb: unmap descriptors when freeing rings
authorKazuya Mizuguchi <[email protected]>
Thu, 26 Jan 2017 13:29:27 +0000 (14:29 +0100)
committerDavid S. Miller <[email protected]>
Thu, 26 Jan 2017 23:41:05 +0000 (18:41 -0500)
commita47b70ea86bdeb3091341f5ae3ef580f1a1ad822
tree486911b0dd44dff74cd19814e24617a4f1c0ae0b
parent086cb6a41264b5af33928b82e09ae7f0f8bbc291
ravb: unmap descriptors when freeing rings

"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.

Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper")
Signed-off-by: Kazuya Mizuguchi <[email protected]>
[simon: reworked]
Signed-off-by: Simon Horman <[email protected]>
Acked-by: Sergei Shtylyov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
drivers/net/ethernet/renesas/ravb_main.c