]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
fpga: dfl: afu: Pass the correct device to dma_mapping_error()
authorScott Wood <swood@redhat.com>
Thu, 9 May 2019 21:08:27 +0000 (16:08 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Jun 2019 03:35:55 +0000 (11:35 +0800)
[ Upstream commit 13069847a475b60069918dc9971f5adb42811ce3 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/fpga/dfl-afu-dma-region.c

index 0e81d33af856a6f51751762bd84fd61baebdf162..c9a613dc9eb7e49f190c5c48c823172cd80ab70d 100644 (file)
@@ -399,7 +399,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;