Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fpga: dfl: afu: Pass the correct device to dma_mapping_error()

dma_mapping_error() was being called on a different device struct than
what was passed to map/unmap. Besides rendering the error checking
ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.

Signed-off-by: Scott Wood <swood@redhat.com>
Acked-by: Wu Hao <hao.wu@intel.com>
Acked-by: Moritz Fischer <mdf@kernel.org>
Acked-by: Alan Tull <atull@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Scott Wood and committed by
Greg Kroah-Hartman
13069847 f5dd8732

+1 -1
+1 -1
drivers/fpga/dfl-afu-dma-region.c
··· 399 399 region->pages[0], 0, 400 400 region->length, 401 401 DMA_BIDIRECTIONAL); 402 - if (dma_mapping_error(&pdata->dev->dev, region->iova)) { 402 + if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) { 403 403 dev_err(&pdata->dev->dev, "failed to map for dma\n"); 404 404 ret = -EFAULT; 405 405 goto unpin_pages;