[PATCH v2 37/42][SRU][U] iommu/omap: Add check for iommu group when no IOMMU in use

You-Sheng Yang vicamo.yang at canonical.com
Tue Jun 2 07:48:38 UTC 2020


From: Tero Kristo via iommu <iommu at lists.linux-foundation.org>

BugLink: https://bugs.launchpad.net/bugs/1876707

Most of the devices in OMAP family of SoCs are not using IOMMU. The
patch for converting the OMAP IOMMU to use generic IOMMU bus probe
functionality failed to add a check for this, so add it here.

Fixes: c822b37cac48 ("iommu/omap: Remove orphan_dev tracking")
Reported-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
Signed-off-by: Tero Kristo <t-kristo at ti.com>
Link: https://lore.kernel.org/r/20200518111057.23140-1-t-kristo@ti.com
Signed-off-by: Joerg Roedel <jroedel at suse.de>
(cherry picked from commit 46b14fc61bfa409efe95a7752a5dba361d753c66
linux-next)
Signed-off-by: You-Sheng Yang <vicamo.yang at canonical.com>
---
 drivers/iommu/omap-iommu.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
index 6699fe6d9e06..5a9ba815863b 100644
--- a/drivers/iommu/omap-iommu.c
+++ b/drivers/iommu/omap-iommu.c
@@ -1726,6 +1726,9 @@ static struct iommu_group *omap_iommu_device_group(struct device *dev)
 	struct omap_iommu_arch_data *arch_data = dev->archdata.iommu;
 	struct iommu_group *group = ERR_PTR(-EINVAL);
 
+	if (!arch_data)
+		return ERR_PTR(-ENODEV);
+
 	if (arch_data->iommu_dev)
 		group = iommu_group_ref_get(arch_data->iommu_dev->group);
 
-- 
2.25.1




More information about the kernel-team mailing list