summaryrefslogtreecommitdiff
path: root/arch/um
diff options
context:
space:
mode:
authorSricharan R <sricharan@codeaurora.org>2017-05-27 19:17:45 +0530
committerJoerg Roedel <jroedel@suse.de>2017-05-30 11:31:34 +0200
commitd3e01c51598b2639a4830549058500e5f2ace86f (patch)
tree31bdac18b9cb52433593cdab08a1e46a9d5c801e /arch/um
parent4dac3210c54a04be9c187dd31b4debb46e3d792b (diff)
arm: dma-mapping: Reset the device's dma_ops
arch_teardown_dma_ops() being the inverse of arch_setup_dma_ops() ,dma_ops should be cleared in the teardown path. Currently, only the device's iommu mapping structures are cleared in arch_teardown_dma_ops, but not the dma_ops. So on the next reprobe, dma_ops left in place is stale from the first IOMMU setup, but iommu mappings has been disposed of. This is a problem when the probe of the device is deferred and recalled with the IOMMU probe deferral. So for fixing this, slightly refactor by moving the code from __arm_iommu_detach_device to arm_iommu_detach_device and cleanup the former. This takes care of resetting the dma_ops in the teardown path. Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices") Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sricharan R <sricharan@codeaurora.org> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'arch/um')
0 files changed, 0 insertions, 0 deletions