[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <558D7651.7020909@redhat.com>
Date: Fri, 26 Jun 2015 17:57:05 +0200
From: Michal Schmidt <mschmidt@...hat.com>
To: netdev@...r.kernel.org
CC: Gabriel Krisman Bertazi <krisman@...ux.vnet.ibm.com>,
Yuval Mintz <Yuval.Mintz@...gic.com>,
Ariel Elior <Ariel.Elior@...gic.com>
Subject: Re: [PATCH net] bnx2x: fix DMA API usage
On 06/26/2015 05:50 PM, Michal Schmidt wrote:
> With CONFIG_DMA_API_DEBUG=y bnx2x triggers the error "DMA-API: device
> driver frees DMA memory with wrong function".
> On archs where PAGE_SIZE > SGE_PAGE_SIZE it also triggers "DMA-API:
> device driver frees DMA memory with different size".
>
> Fix this by making the mapping and unmapping symmetric:
> - Do not map the whole pool page at once. Instead map the
> SGE_PAGE_SIZE-sized pieces individually, so they can be unmapped in
> the same manner.
> - What's mapped using dma_map_page() must be unmapped using
> dma_unmap_page().
>
> Tested on ppc64.
>
> Fixes: 4cace675d687 ("bnx2x: Alloc 4k fragment for each rx ring buffer element")
> Signed-off-by: Michal Schmidt <mschmidt@...hat.com>
> ---
> drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 1 -
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 23 ++++++++++-------------
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 12 ++----------
> 3 files changed, 12 insertions(+), 24 deletions(-)
The two patches I sent are absolutely identical.
I just sent it twice by mistake. Sorry for any confusion.
Michal
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists