From 7b7e5b1cc7069883f539b1c92f500e10c78198fd Mon Sep 17 00:00:00 2001 From: Robby Cai Date: Wed, 17 Oct 2012 09:01:35 +0800 Subject: [PATCH] ENGR00229938 pxp/v4l2: check return value of kmalloc against NULL This is needed sanity check, because on Ubuntu it's likely that low memory will happen. This patch also makes this memory allocated from dma zone. Signed-off-by: Robby Cai --- drivers/media/video/mxc/output/mxc_pxp_v4l2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/media/video/mxc/output/mxc_pxp_v4l2.c b/drivers/media/video/mxc/output/mxc_pxp_v4l2.c index c17f9f1d9cdc..08d16b9f75d3 100644 --- a/drivers/media/video/mxc/output/mxc_pxp_v4l2.c +++ b/drivers/media/video/mxc/output/mxc_pxp_v4l2.c @@ -396,7 +396,12 @@ static int pxp_s_output(struct file *file, void *fh, bpp = 2; pxp->outb_size = fmt->width * fmt->height * bpp; - pxp->outb = kmalloc(fmt->width * fmt->height * bpp, GFP_KERNEL); + pxp->outb = kmalloc(fmt->width * fmt->height * bpp, + GFP_KERNEL | GFP_DMA); + if (pxp->outb == NULL) { + dev_err(&pxp->pdev->dev, "No enough memory!\n"); + return -ENOMEM; + } pxp->outb_phys = virt_to_phys(pxp->outb); dma_map_single(NULL, pxp->outb, fmt->width * fmt->height * bpp, DMA_TO_DEVICE); -- 2.39.5