From 05cdbdb95f98fcd080e7494f7d0ca4886aed3c64 Mon Sep 17 00:00:00 2001
From: Julia Lawall
Date: Sun, 19 Aug 2012 10:44:22 +0200
Subject: ab8500_btemp: Fix error return code
Initialize return variable before exiting on an error path.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
//
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
//
Signed-off-by: Julia Lawall
Signed-off-by: Anton Vorontsov
---
drivers/power/ab8500_btemp.c | 1 +
1 file changed, 1 insertion(+)
(limited to 'drivers/power')
diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c
index bba3ccac72fe..2b76943ff9cf 100644
--- a/drivers/power/ab8500_btemp.c
+++ b/drivers/power/ab8500_btemp.c
@@ -1014,6 +1014,7 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev)
create_singlethread_workqueue("ab8500_btemp_wq");
if (di->btemp_wq == NULL) {
dev_err(di->dev, "failed to create work queue\n");
+ ret = -ENOMEM;
goto free_device_info;
}
--
cgit v1.2.3-55-g7522