[media] m5mols: introduce missing initialization
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sat, 18 Aug 2012 20:25:59 +0000 (17:25 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 14 Sep 2012 14:08:40 +0000 (11:08 -0300)
The result of one call to a function is tested, and then at the second call
to the same function, the previous result, and not the current result, is
tested again.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression ret;
identifier f;
statement S1,S2;
@@

*ret = f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S1
... when any
*f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S2
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/i2c/m5mols/m5mols_core.c

index ac7d28b6ddf25e44347cf1a931755c27e2bdd5ac..0f521f57e8e5b8864bbce00344379de768c3989d 100644 (file)
@@ -937,7 +937,7 @@ static int __devinit m5mols_probe(struct i2c_client *client,
        if (!ret)
                ret = m5mols_init_controls(sd);
 
-       m5mols_sensor_power(info, false);
+       ret = m5mols_sensor_power(info, false);
        if (!ret)
                return 0;
 out_me: