[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 445359c961136cd1595e59138c3e3a3b24ee90e2..f80c1d7ec88454def6d81bfaba52f98d0d83bbca 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;