diff options
| author | David Keitel <dkeitel@codeaurora.org> | 2016-02-04 10:07:32 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:07:32 -0700 |
| commit | 8574df23fd9e64dded4cb52386f05fc986370d35 (patch) | |
| tree | bac0ede47886363fbdf582921d5a8a359928253e /arch | |
| parent | ea701f67913ff0917405452de0e69f33d2f81fea (diff) | |
dma-mapping: fix merge conflict mistake
As part of the 4.4 upgrade an incorrect merge
conflict resolution in dma-mapping caused the
function __dma_alloc_coherent to not work correctly.
Fix this by changing correctly resolving the merge conflict
resolution.
Change-Id: I5b2411187768f2e3c4292a7c28cd742f5eb2dc54
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm64/mm/dma-mapping.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c index 085f028472c8..4746b93520a1 100644 --- a/arch/arm64/mm/dma-mapping.c +++ b/arch/arm64/mm/dma-mapping.c @@ -146,9 +146,12 @@ static void *__dma_alloc_coherent(struct device *dev, size_t size, if (!page) return NULL; + *dma_handle = phys_to_dma(dev, page_to_phys(page)); + addr = page_address(page); + memset(addr, 0, size); + if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, attrs) || dma_get_attr(DMA_ATTR_STRONGLY_ORDERED, attrs)) { - void *addr = page_address(page); /* * flush the caches here because we can't later */ @@ -156,9 +159,6 @@ static void *__dma_alloc_coherent(struct device *dev, size_t size, __dma_remap(page, size, 0, true); } - *dma_handle = phys_to_dma(dev, page_to_phys(page)); - addr = page_address(page); - memset(addr, 0, size); return addr; } else { return swiotlb_alloc_coherent(dev, size, dma_handle, flags); |
