Thread (30 messages) 30 messages, 4 authors, 2014-01-15

Re: [PATCH 1/7] iommu/omap: Do bus_set_iommu() only if probe() succeeds

From: Florian Vaussard <hidden>
Date: 2014-01-15 18:38:04
Also in: linux-arm-kernel, linux-iommu, linux-omap, lkml

Hi Suman,

So back to this...

On 12/24/2013 12:35 AM, Anna, Suman wrote:
Hi Florian,
[...]
quoted
If omap_iommu_probe() fails, the init will have called bus_set_iommu()
anyways. Thus, when a driver request the iommu by calling
iommu_domain_alloc(), it will succeed (but iommu_attach_device() will
fail if I remember).
Yeah, thats the behavior I expected anyway.
quoted
Leaving a driver with a dangling reference to
a phantom iommu is not good IMHO. It will lead to strange behaviours
one day or another.

As for the multiple iommu case, as I do not think it is currently
possible, as bus_type (in this case &platform_bus_type) has only
one struct iommu_ops. bus_set_iommu() will return EBUSY on the
second call. Am I missing something?
What I meant was the problem you cited will still exist, say if ISP MMU
probe failed, but the IVA MMU probe succeeded. The bus_set_iommu() can
only be called once anyway, so moving it from init to probe would not
help much.
Ok I see your point. Similar IPs share the same ops, but with different
omap_iommu_arch_data, even if currently we only have one registered
IOMMU for OMAP3.

So I will drop this patch.

Regards,
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help