summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/of_iommu.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-06-20 12:28:21 +0200
committerIngo Molnar <mingo@kernel.org>2017-06-20 12:28:21 +0200
commit902b31941327a0e9c0ca9eb7750414ae41bf8a89 (patch)
tree300f4226c87e6df403cda861ab6766b23d278f09 /drivers/iommu/of_iommu.c
parentsched/fair: WARN() and refuse to set buddy when !se->on_rq (diff)
parentsched/wait: Disambiguate wq_entry->task_list and wq_head->task_list naming (diff)
downloadlinux-902b31941327a0e9c0ca9eb7750414ae41bf8a89.tar.xz
linux-902b31941327a0e9c0ca9eb7750414ae41bf8a89.zip
Merge branch 'WIP.sched/core' into sched/core
Conflicts: kernel/sched/Makefile Pick up the waitqueue related renames - it didn't get much feedback, so it appears to be uncontroversial. Famous last words? ;-) Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/iommu/of_iommu.c')
-rw-r--r--drivers/iommu/of_iommu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
index b8dcf44df441..8cb60829a7a1 100644
--- a/drivers/iommu/of_iommu.c
+++ b/drivers/iommu/of_iommu.c
@@ -118,6 +118,7 @@ static const struct iommu_ops
ops = iommu_ops_from_fwnode(fwnode);
if ((ops && !ops->of_xlate) ||
+ !of_device_is_available(iommu_spec->np) ||
(!ops && !of_iommu_driver_present(iommu_spec->np)))
return NULL;
@@ -236,6 +237,12 @@ const struct iommu_ops *of_iommu_configure(struct device *dev,
ops = ERR_PTR(err);
}
+ /* Ignore all other errors apart from EPROBE_DEFER */
+ if (IS_ERR(ops) && (PTR_ERR(ops) != -EPROBE_DEFER)) {
+ dev_dbg(dev, "Adding to IOMMU failed: %ld\n", PTR_ERR(ops));
+ ops = NULL;
+ }
+
return ops;
}