]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
staging: android: ion: Check return value of ion_buffer_kmap_get
authorNathan Chancellor <natechancellor@gmail.com>
Mon, 14 May 2018 18:50:44 +0000 (11:50 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 May 2018 07:31:38 +0000 (09:31 +0200)
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>
drivers/staging/android/ion/ion.c

index d10b60fe4a299514046b9732f31fb319337a3ca8..af682cbde7679a65c13348fcd5a4086bf779ac44 100644 (file)
@@ -315,6 +315,7 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
        struct ion_buffer *buffer = dmabuf->priv;
        void *vaddr;
        struct ion_dma_buf_attachment *a;
+       int ret = 0;
 
        /*
         * 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) {
                mutex_lock(&buffer->lock);
                vaddr = ion_buffer_kmap_get(buffer);
+               if (IS_ERR(vaddr)) {
+                       ret = PTR_ERR(vaddr);
+                       goto unlock;
+               }
                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,
                                    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,