mirror of
https://github.com/torvalds/linux.git
synced 2024-12-07 03:21:32 +00:00
arm64: dma-mapping: fix handling of devices registered before arch_initcall
This patch ensures that devices, which got registered before arch_initcall
will be handled correctly by IOMMU-based DMA-mapping code.
Cc: <stable@vger.kernel.org>
Fixes: 13b8629f65
("arm64: Add IOMMU dma_ops")
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
7f4e346263
commit
722ec35f7f
@ -933,6 +933,10 @@ static int __init __iommu_dma_init(void)
|
|||||||
ret = register_iommu_dma_ops_notifier(&platform_bus_type);
|
ret = register_iommu_dma_ops_notifier(&platform_bus_type);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = register_iommu_dma_ops_notifier(&amba_bustype);
|
ret = register_iommu_dma_ops_notifier(&amba_bustype);
|
||||||
|
|
||||||
|
/* handle devices queued before this arch_initcall */
|
||||||
|
if (!ret)
|
||||||
|
__iommu_attach_notifier(NULL, BUS_NOTIFY_ADD_DEVICE, NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
arch_initcall(__iommu_dma_init);
|
arch_initcall(__iommu_dma_init);
|
||||||
|
Loading…
Reference in New Issue
Block a user