]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.19/fpga-dfl-afu-pass-the-correct-device-to-dma_mapping_.patch
fixes for 4.19
[thirdparty/kernel/stable-queue.git] / queue-4.19 / fpga-dfl-afu-pass-the-correct-device-to-dma_mapping_.patch
1 From 99cc3c69699fcb34df10b70e15d312ef2526f5b6 Mon Sep 17 00:00:00 2001
2 From: Scott Wood <swood@redhat.com>
3 Date: Thu, 9 May 2019 16:08:27 -0500
4 Subject: fpga: dfl: afu: Pass the correct device to dma_mapping_error()
5
6 [ Upstream commit 13069847a475b60069918dc9971f5adb42811ce3 ]
7
8 dma_mapping_error() was being called on a different device struct than
9 what was passed to map/unmap. Besides rendering the error checking
10 ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.
11
12 Signed-off-by: Scott Wood <swood@redhat.com>
13 Acked-by: Wu Hao <hao.wu@intel.com>
14 Acked-by: Moritz Fischer <mdf@kernel.org>
15 Acked-by: Alan Tull <atull@kernel.org>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17 Signed-off-by: Sasha Levin <sashal@kernel.org>
18 ---
19 drivers/fpga/dfl-afu-dma-region.c | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22 diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c
23 index 0e81d33af856..c9a613dc9eb7 100644
24 --- a/drivers/fpga/dfl-afu-dma-region.c
25 +++ b/drivers/fpga/dfl-afu-dma-region.c
26 @@ -399,7 +399,7 @@ int afu_dma_map_region(struct dfl_feature_platform_data *pdata,
27 region->pages[0], 0,
28 region->length,
29 DMA_BIDIRECTIONAL);
30 - if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
31 + if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) {
32 dev_err(&pdata->dev->dev, "failed to map for dma\n");
33 ret = -EFAULT;
34 goto unpin_pages;
35 --
36 2.20.1
37