[media] mt9m032.c: introduce missing initialization
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sat, 18 Aug 2012 20:25:56 +0000 (17:25 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 14 Sep 2012 14:10:59 +0000 (11:10 -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/mt9m032.c

index 445359c..f80c1d7 100644 (file)
@@ -781,7 +781,7 @@ static int mt9m032_probe(struct i2c_client *client,
        ret = mt9m032_write(client, MT9M032_RESET, 1);  /* reset on */
        if (ret < 0)
                goto error_entity;
-       mt9m032_write(client, MT9M032_RESET, 0);        /* reset off */
+       ret = mt9m032_write(client, MT9M032_RESET, 0);  /* reset off */
        if (ret < 0)
                goto error_entity;