diff options
author | Joerg Roedel <jroedel@suse.de> | 2018-12-20 12:02:20 +0300 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2018-12-20 12:02:20 +0300 |
commit | dc9de8a2b20f495696330d60a289935f36407995 (patch) | |
tree | 8a4f3981c0cf7b3b8d60651bdc973faffef566df /drivers/iommu | |
parent | d2e1a003af569e912d5f115a3c20b89a19f5caa0 (diff) | |
download | linux-dc9de8a2b20f495696330d60a289935f36407995.tar.xz |
iommu: Check for iommu_ops == NULL in iommu_probe_device()
This check needs to be there and got lost at some point
during development. Add it again.
Fixes: 641fb0efbff0 ('iommu/of: Don't call iommu_ops->add_device directly')
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reported-by: kernelci.org bot <bot@kernelci.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/iommu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index a2131751dcff..3ed4db334341 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -114,10 +114,14 @@ void iommu_device_unregister(struct iommu_device *iommu) int iommu_probe_device(struct device *dev) { const struct iommu_ops *ops = dev->bus->iommu_ops; + int ret = -EINVAL; WARN_ON(dev->iommu_group); - return ops->add_device(dev); + if (ops) + ret = ops->add_device(dev); + + return ret; } void iommu_release_device(struct device *dev) |