From: Wei Yongjun Date: Thu, 15 Sep 2016 03:36:09 +0000 (-0300) Subject: [media] vivid: fix error return code in vivid_create_instance() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a38aaaa43d1acd037afd1bd84ebf9d855afdf714;p=openwrt%2Fstaging%2Fblogic.git [media] vivid: fix error return code in vivid_create_instance() Fix to return error code -ENOMEM from the memory or workqueue alloc error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c index 741460ab68ab..5464fefbaab9 100644 --- a/drivers/media/platform/vivid/vivid-core.c +++ b/drivers/media/platform/vivid/vivid-core.c @@ -839,6 +839,7 @@ static int vivid_create_instance(struct platform_device *pdev, int inst) dev->radio_tx_caps = V4L2_CAP_RDS_OUTPUT | V4L2_CAP_MODULATOR | V4L2_CAP_READWRITE; + ret = -ENOMEM; /* initialize the test pattern generator */ tpg_init(&dev->tpg, 640, 360); if (tpg_alloc(&dev->tpg, MAX_ZOOM * MAX_WIDTH)) @@ -1033,8 +1034,10 @@ static int vivid_create_instance(struct platform_device *pdev, int inst) */ dev->cec_workqueue = alloc_ordered_workqueue("vivid-%03d-cec", WQ_MEM_RECLAIM, inst); - if (!dev->cec_workqueue) + if (!dev->cec_workqueue) { + ret = -ENOMEM; goto unreg_dev; + } /* start creating the vb2 queues */ if (dev->has_vid_cap) {