summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/mtk_iommu_v1.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-01-30 09:30:03 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2019-01-30 09:30:03 -0800
commit1c0490ce902206f4685f812fa81304fd1adf4e35 (patch)
treebee94f03b204cb058662984c173b05163c8f7dc9 /drivers/iommu/mtk_iommu_v1.c
parent877ef51d53abfdadabc64809d045d9c27c1cf757 (diff)
parent9825bd94e3a2baae1f4874767ae3a7d4c049720e (diff)
downloadlinux-stable-1c0490ce902206f4685f812fa81304fd1adf4e35.tar.gz
linux-stable-1c0490ce902206f4685f812fa81304fd1adf4e35.tar.bz2
linux-stable-1c0490ce902206f4685f812fa81304fd1adf4e35.zip
Merge tag 'iommu-fixes-v5.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU fixes from Joerg Roedel: "A few more fixes this time: - Two patches to fix the error path of the map_sg implementation of the AMD IOMMU driver. - Also a missing IOTLB flush is fixed in the AMD IOMMU driver. - Memory leak fix for the Intel IOMMU driver. - Fix a regression in the Mediatek IOMMU driver which caused device initialization to fail (seen as broken HDMI output)" * tag 'iommu-fixes-v5.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/amd: Fix IOMMU page flush when detach device from a domain iommu/mediatek: Use correct fwspec in mtk_iommu_add_device() iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions() iommu/amd: Unmap all mapped pages in error path of map_sg iommu/amd: Call free_iova_fast with pfn in map_sg
Diffstat (limited to 'drivers/iommu/mtk_iommu_v1.c')
-rw-r--r--drivers/iommu/mtk_iommu_v1.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c
index 730f7dabcf37..7e0df67bd3e9 100644
--- a/drivers/iommu/mtk_iommu_v1.c
+++ b/drivers/iommu/mtk_iommu_v1.c
@@ -441,6 +441,10 @@ static int mtk_iommu_add_device(struct device *dev)
iommu_spec.args_count = count;
mtk_iommu_create_mapping(dev, &iommu_spec);
+
+ /* dev->iommu_fwspec might have changed */
+ fwspec = dev_iommu_fwspec_get(dev);
+
of_node_put(iommu_spec.np);
}