diff options
author | Martin Hostettler <martin@neutronstar.dyndns.org> | 2011-02-24 12:51:31 -0800 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-02-24 12:51:31 -0800 |
commit | ef4815ab1ff10d642c21ef92faa6544934bc78d1 (patch) | |
tree | a1eb3c43e281203282f6b0dc193aa07082357df0 /arch/arm | |
parent | 7cab8713b1ed0dab08ad6458f92a40b7ff4be619 (diff) | |
download | talos-obmc-linux-ef4815ab1ff10d642c21ef92faa6544934bc78d1.tar.gz talos-obmc-linux-ef4815ab1ff10d642c21ef92faa6544934bc78d1.zip |
omap: iommu: Gracefully fail iommu_enable if no arch_iommu is registered
In a modular build of the iommu code it's possible that the arch iommu code
isn't loaded when trying to enable the iommu. Instead of blindly following a
null pointer return -NODEV in that case.
Signed-off-by: Martin Hostettler <martin@neutronstar.dyndns.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/plat-omap/iommu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c index b1107c08da56..3d8f55ea8666 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/arch/arm/plat-omap/iommu.c @@ -104,6 +104,9 @@ static int iommu_enable(struct iommu *obj) if (!obj) return -EINVAL; + if (!arch_iommu) + return -ENODEV; + clk_enable(obj->clk); err = arch_iommu->enable(obj); |