From: Scott Wood <sw...@redhat.com>

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 <sw...@redhat.com>
Acked-by: Wu Hao <hao...@intel.com>
Acked-by: Moritz Fischer <m...@kernel.org>
Acked-by: Alan Tull <at...@kernel.org>
---
 drivers/fpga/dfl-afu-dma-region.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/fpga/dfl-afu-dma-region.c 
b/drivers/fpga/dfl-afu-dma-region.c
index 0bbc7142f1dc..f7d268f45df0 100644
--- a/drivers/fpga/dfl-afu-dma-region.c
+++ b/drivers/fpga/dfl-afu-dma-region.c
@@ -391,7 +391,7 @@ int afu_dma_map_region(struct dfl_feature_platform_data 
*pdata,
                                    region->pages[0], 0,
                                    region->length,
                                    DMA_BIDIRECTIONAL);
-       if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
+       if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) {
                dev_err(&pdata->dev->dev, "failed to map for dma\n");
                ret = -EFAULT;
                goto unpin_pages;
-- 
2.21.0

Reply via email to