diff options
author | Andrey Konovalov <andrey.konovalov@linaro.org> | 2015-11-19 13:01:56 +0300 |
---|---|---|
committer | Andrey Konovalov <andrey.konovalov@linaro.org> | 2015-11-19 13:01:56 +0300 |
commit | 4b131c9bf8af9bc7a25441251f60a8ca7fc69c07 (patch) | |
tree | ba0bc4861f2f606b088b09c53389f06e88a69894 /arch/arm/mm/dma-mapping.c | |
parent | d4e209db57abe07163fe84b43b533a4b6246b0c3 (diff) | |
parent | 08fad54a88981323247c7199ccbb8d42c596466a (diff) |
Automatically merging tracking-integration-linux-qcomlt into merge-linux-linaroHEADll-20151119.0linux-linaro-4.3-2015.11ll_20151119.0linux-linaro
Conflicting files:
Diffstat (limited to 'arch/arm/mm/dma-mapping.c')
-rw-r--r-- | arch/arm/mm/dma-mapping.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 1a7815e5421b..7e2b75f8b046 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -2126,6 +2126,15 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, struct dma_map_ops *dma_ops; dev->archdata.dma_coherent = coherent; + + /* + * Don't override the dma_ops if they have already been set. Ideally + * this should be the only location where dma_ops are set, remove this + * check when all other callers of set_dma_ops will have disappeared. + */ + if (dev->archdata.dma_ops) + return; + if (arm_setup_iommu_dma_ops(dev, dma_base, size, iommu)) dma_ops = arm_get_iommu_dma_map_ops(coherent); else |