diff options
| -rw-r--r-- | arch/arm/common/dmabounce.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index 2e635b814c14..272702accd8b 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c | |||
| @@ -281,10 +281,14 @@ map_single(struct device *dev, void *ptr, size_t size, | |||
| 281 | ptr = buf->safe; | 281 | ptr = buf->safe; |
| 282 | 282 | ||
| 283 | dma_addr = buf->safe_dma_addr; | 283 | dma_addr = buf->safe_dma_addr; |
| 284 | } else { | ||
| 285 | /* | ||
| 286 | * We don't need to sync the DMA buffer since | ||
| 287 | * it was allocated via the coherent allocators. | ||
| 288 | */ | ||
| 289 | consistent_sync(ptr, size, dir); | ||
| 284 | } | 290 | } |
| 285 | 291 | ||
| 286 | consistent_sync(ptr, size, dir); | ||
| 287 | |||
| 288 | return dma_addr; | 292 | return dma_addr; |
| 289 | } | 293 | } |
| 290 | 294 | ||
| @@ -397,7 +401,10 @@ sync_single(struct device *dev, dma_addr_t dma_addr, size_t size, | |||
| 397 | default: | 401 | default: |
| 398 | BUG(); | 402 | BUG(); |
| 399 | } | 403 | } |
| 400 | consistent_sync(buf->safe, size, dir); | 404 | /* |
| 405 | * No need to sync the safe buffer - it was allocated | ||
| 406 | * via the coherent allocators. | ||
| 407 | */ | ||
| 401 | } else { | 408 | } else { |
| 402 | consistent_sync(dma_to_virt(dev, dma_addr), size, dir); | 409 | consistent_sync(dma_to_virt(dev, dma_addr), size, dir); |
| 403 | } | 410 | } |
