summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-11-23 14:01:19 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-11-23 14:01:18 -0800
commitaf5f70355c26dced06be3b8b34f0f10b81a44f40 (patch)
tree4dcf3870a8c5aa1a2fc868c04a3469da8a5a0e2a /drivers
parent4271fd01cd163c30d8b35998414f1b6ed6eb3a6b (diff)
parentf07109b6d70b991819a2de0ff495776630fc5bc5 (diff)
Merge "msm: vidc: Fix memory leak issue"
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/msm/vidc/msm_v4l2_vidc.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c b/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c
index de5a2dececdf..e81162f3c4ad 100644
--- a/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c
+++ b/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c
@@ -456,14 +456,15 @@ static int msm_vidc_probe_vidc_device(struct platform_device *pdev)
struct device *dev;
int nr = BASE_DEVICE_NUMBER;
- core = kzalloc(sizeof(*core), GFP_KERNEL);
- if (!core || !vidc_driver) {
- dprintk(VIDC_ERR,
- "Failed to allocate memory for device core\n");
- rc = -ENOMEM;
- goto err_no_mem;
+ if (!vidc_driver) {
+ dprintk(VIDC_ERR, "Invalid vidc driver\n");
+ return -EINVAL;
}
+ core = kzalloc(sizeof(*core), GFP_KERNEL);
+ if (!core)
+ return -ENOMEM;
+
dev_set_drvdata(&pdev->dev, core);
rc = msm_vidc_initialize_core(pdev, core);
if (rc) {
@@ -628,7 +629,6 @@ err_v4l2_register:
err_core_init:
dev_set_drvdata(&pdev->dev, NULL);
kfree(core);
-err_no_mem:
return rc;
}