summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Keitel <dkeitel@codeaurora.org>2016-02-04 10:07:32 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:07:32 -0700
commit8574df23fd9e64dded4cb52386f05fc986370d35 (patch)
treebac0ede47886363fbdf582921d5a8a359928253e
parentea701f67913ff0917405452de0e69f33d2f81fea (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>
-rw-r--r--arch/arm64/mm/dma-mapping.c8
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);