Re: [PATCH] gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page

From: David Miller
Date: Mon Jan 30 2017 - 11:20:32 EST


From: Arseny Solokha <asolokha@xxxxxxxxxx>
Date: Sun, 29 Jan 2017 19:52:20 +0700

> From: Arseny Solokha <asolokha@xxxxxxxxxx>
>
> In spite of switching to paged allocation of Rx buffers, the driver still
> called dma_unmap_single() in the Rx queues tear-down path.
>
> The DMA region unmapping code in free_skb_rx_queue() basically predates
> the introduction of paged allocation to the driver. While being refactored,
> it apparently hasn't reflected the change in the DMA API usage by its
> counterpart gfar_new_page().
>
> As a result, setting an interface to the DOWN state now yields the following:
...
> Even though the issue was discovered in 4.9 kernel, the code in question
> is identical in the current net and net-next trees.
>
> Fixes: 75354148ce69 ("gianfar: Add paged allocation and Rx S/G")
> Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx>

Applied, thanks.