ARM: dma-mapping: NULLify dev->archdata.mapping pointer on detach
authorWill Deacon <will.deacon@arm.com>
Mon, 10 Jun 2013 18:34:40 +0000 (19:34 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 28 Jun 2013 13:14:27 +0000 (15:14 +0200)
The current code only clobbers a local variable, so the device is left
with a stale mapping pointer.

Cc: Hiroshi Doyu <hdoyu@nvidia.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Hiroshi Doyu <hdoyu@nvidia.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
arch/arm/mm/dma-mapping.c

index 282aacd..26a5833 100644 (file)
@@ -1922,7 +1922,7 @@ void arm_iommu_detach_device(struct device *dev)
 
        iommu_detach_device(mapping->domain, dev);
        kref_put(&mapping->kref, release_iommu_mapping);
-       mapping = NULL;
+       dev->archdata.mapping = NULL;
        set_dma_ops(dev, NULL);
 
        pr_debug("Detached IOMMU controller from %s device.\n", dev_name(dev));