diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c index e3051e99b200..5a17f9b6f147 100644 --- a/drivers/staging/android/ion/ion.c +++ b/drivers/staging/android/ion/ion.c @@ -485,6 +485,9 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf, mutex_unlock(&buffer->lock); } + if (direction == DMA_TO_DEVICE) + return 0; + mutex_lock(&buffer->lock); if (IS_ENABLED(CONFIG_ION_FORCE_DMA_SYNC)) { struct device *dev = ion_dev; @@ -555,6 +558,9 @@ static int ion_dma_buf_begin_cpu_access_partial(struct dma_buf *dmabuf, struct ion_dma_buf_attachment *a; int ret = 0; + if (direction == DMA_TO_DEVICE) + return 0; + mutex_lock(&buffer->lock); if (IS_ENABLED(CONFIG_ION_FORCE_DMA_SYNC)) { struct device *dev = ion_dev;