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 <mschm...@redhat.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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html