media: videobuf2: Return error after allocation failure
authorSouptick Joarder <jrdr.linux@gmail.com>
Mon, 4 Feb 2019 15:01:43 +0000 (10:01 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Tue, 19 Mar 2019 18:03:55 +0000 (14:03 -0400)
There is no point to continuing assignment after memory allocation
failed, rather throw error immediately.

Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil-cisco@xs4all.nl: rebase and remove empty line before the if]
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/common/videobuf2/videobuf2-vmalloc.c

index 6dfbd5b0590759e0c712094dffb96518900efa1a..1c6659f7c39442aeef6b59d39b7b3965e887a354 100644 (file)
@@ -46,17 +46,17 @@ static void *vb2_vmalloc_alloc(struct device *dev, unsigned long attrs,
 
        buf->size = size;
        buf->vaddr = vmalloc_user(buf->size);
-       buf->dma_dir = dma_dir;
-       buf->handler.refcount = &buf->refcount;
-       buf->handler.put = vb2_vmalloc_put;
-       buf->handler.arg = buf;
-
        if (!buf->vaddr) {
                pr_debug("vmalloc of size %ld failed\n", buf->size);
                kfree(buf);
                return ERR_PTR(-ENOMEM);
        }
 
+       buf->dma_dir = dma_dir;
+       buf->handler.refcount = &buf->refcount;
+       buf->handler.put = vb2_vmalloc_put;
+       buf->handler.arg = buf;
+
        refcount_set(&buf->refcount, 1);
        return buf;
 }