mfd: twl6040: Fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 6 Aug 2014 20:12:15 +0000 (22:12 +0200)
committerLee Jones <lee.jones@linaro.org>
Fri, 26 Sep 2014 07:15:37 +0000 (08:15 +0100)
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}

// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/twl6040.c

index f9c06c542a41ca96544885dff8c4b99630edd434..9687645162aef9b16b53ede89b2af858a31936fa 100644 (file)
@@ -679,6 +679,7 @@ static int twl6040_probe(struct i2c_client *client,
        if (twl6040->rev < 0) {
                dev_err(&client->dev, "Failed to read revision register: %d\n",
                        twl6040->rev);
+               ret = twl6040->rev;
                goto gpio_err;
        }