staging: android: ion: Check return value of ion_buffer_kmap_get

GCC warns that vaddr is set but unused. Check the return value of
ion_buffer_kmap_get to make vaddr useful and make sure everything
is properly configured before beginning a DMA.

Suggested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Nathan Chancellor 2018-05-14 11:50:44 -07:00 committed by Greg Kroah-Hartman
parent d1598d4e3b
commit dabb01c2d0

View File

@ -315,6 +315,7 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
struct ion_buffer *buffer = dmabuf->priv; struct ion_buffer *buffer = dmabuf->priv;
void *vaddr; void *vaddr;
struct ion_dma_buf_attachment *a; struct ion_dma_buf_attachment *a;
int ret = 0;
/* /*
* TODO: Move this elsewhere because we don't always need a vaddr * TODO: Move this elsewhere because we don't always need a vaddr
@ -322,6 +323,10 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
if (buffer->heap->ops->map_kernel) { if (buffer->heap->ops->map_kernel) {
mutex_lock(&buffer->lock); mutex_lock(&buffer->lock);
vaddr = ion_buffer_kmap_get(buffer); vaddr = ion_buffer_kmap_get(buffer);
if (IS_ERR(vaddr)) {
ret = PTR_ERR(vaddr);
goto unlock;
}
mutex_unlock(&buffer->lock); mutex_unlock(&buffer->lock);
} }
@ -330,9 +335,10 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
dma_sync_sg_for_cpu(a->dev, a->table->sgl, a->table->nents, dma_sync_sg_for_cpu(a->dev, a->table->sgl, a->table->nents,
direction); direction);
} }
mutex_unlock(&buffer->lock);
return 0; unlock:
mutex_unlock(&buffer->lock);
return ret;
} }
static int ion_dma_buf_end_cpu_access(struct dma_buf *dmabuf, static int ion_dma_buf_end_cpu_access(struct dma_buf *dmabuf,