[RAMEN9610-12270] media: vb2: fix for wrong GFP mask to sg_alloc_table_from_pages
authorJanghyuck Kim <janghyuck.kim@samsung.com>
Fri, 15 Feb 2019 08:03:41 +0000 (17:03 +0900)
committerhskang <hs1218.kang@samsung.com>
Wed, 20 Feb 2019 01:00:41 +0000 (10:00 +0900)
sg_alloc_table_from_pages() would be failed if free memory is not
enough. GFP mask is changed to GFP_KERNEL to reclaim memory in this
situation.

Change-Id: I654975ce7903f1545e10ac1bc2f905f1caff8268
Signed-off-by: Janghyuck Kim <janghyuck.kim@samsung.com>
drivers/media/v4l2-core/videobuf2-dma-sg.c

index a3f6eaeb3c535df9f3dd7bc424b0a65cfb7b7040..495944553734c41667c8b3d347b5d6a794102655 100644 (file)
@@ -294,7 +294,7 @@ static void *vb2_dma_sg_get_userptr(struct device *dev, unsigned long vaddr,
        buf->num_pages = frame_vector_count(vec);
 
        if (sg_alloc_table_from_pages(buf->dma_sgt, buf->pages,
-                       buf->num_pages, buf->offset, size, 0))
+                       buf->num_pages, buf->offset, size, GFP_KERNEL))
                goto userptr_fail_sgtable;
 
        sgt = &buf->sg_table;