Commit 92fe0ff1 authored by Aaro Koskinen's avatar Aaro Koskinen Committed by Tomi Valkeinen

OMAP: DSS: Taal: fix error returns in taal_probe()

The workqueue creation error branch attempted to destroy a NULL wq,
and, in turn, a failed registration does not destroy the newly created
workqueue.

The problem was reported by a static analysis tool.
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
parent 80b1cc23
...@@ -510,7 +510,7 @@ static int taal_probe(struct omap_dss_device *dssdev) ...@@ -510,7 +510,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
if (td->esd_wq == NULL) { if (td->esd_wq == NULL) {
dev_err(&dssdev->dev, "can't create ESD workqueue\n"); dev_err(&dssdev->dev, "can't create ESD workqueue\n");
r = -ENOMEM; r = -ENOMEM;
goto err2; goto err1;
} }
INIT_DELAYED_WORK_DEFERRABLE(&td->esd_work, taal_esd_work); INIT_DELAYED_WORK_DEFERRABLE(&td->esd_work, taal_esd_work);
...@@ -528,7 +528,7 @@ static int taal_probe(struct omap_dss_device *dssdev) ...@@ -528,7 +528,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
&taal_bl_ops); &taal_bl_ops);
if (IS_ERR(bldev)) { if (IS_ERR(bldev)) {
r = PTR_ERR(bldev); r = PTR_ERR(bldev);
goto err1; goto err2;
} }
td->bldev = bldev; td->bldev = bldev;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment