Message ID | 1479381645-3230-1-git-send-email-sricharan@codeaurora.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Andy Gross |
Headers | show |
Hi Sricharan, On 2016-11-17 12:20, Sricharan R wrote: > arch_teardown_dma_ops() being the inverse of arch_setup_dma_ops() > ,dma_ops should be cleared in the teardown path. Otherwise > this causes problem when the probe of device is retried after > being deferred. The device's iommu structures are cleared > after EPROBEDEFER error, but on the next try dma_ops will still > be set to old value, which is not right. > > Signed-off-by: Sricharan R <sricharan@codeaurora.org> > Reviewed-by: Robin Murphy <robin.murphy@arm.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> > --- > arch/arm/mm/dma-mapping.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c > index ab4f745..a40f03e 100644 > --- a/arch/arm/mm/dma-mapping.c > +++ b/arch/arm/mm/dma-mapping.c > @@ -2358,6 +2358,7 @@ static void arm_teardown_iommu_dma_ops(struct device *dev) > > __arm_iommu_detach_device(dev); > arm_iommu_release_mapping(mapping); > + set_dma_ops(dev, NULL); > } > > #else Best regards
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index ab4f745..a40f03e 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -2358,6 +2358,7 @@ static void arm_teardown_iommu_dma_ops(struct device *dev) __arm_iommu_detach_device(dev); arm_iommu_release_mapping(mapping); + set_dma_ops(dev, NULL); } #else