diff options
Diffstat (limited to 'arch/arm/common/dmabounce.c')
| -rw-r--r-- | arch/arm/common/dmabounce.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index cc32c1e54a5..cc0a932bbea 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c @@ -277,7 +277,7 @@ static inline dma_addr_t map_single(struct device *dev, void *ptr, size_t size,  		 * We don't need to sync the DMA buffer since  		 * it was allocated via the coherent allocators.  		 */ -		dma_cache_maint(ptr, size, dir); +		__dma_single_cpu_to_dev(ptr, size, dir);  	}  	return dma_addr; @@ -315,6 +315,8 @@ static inline void unmap_single(struct device *dev, dma_addr_t dma_addr,  			__cpuc_flush_dcache_area(ptr, size);  		}  		free_safe_buffer(dev->archdata.dmabounce, buf); +	} else { +		__dma_single_dev_to_cpu(dma_to_virt(dev, dma_addr), size, dir);  	}  }  |