fbdev: ssd1307fb: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 23 Aug 2015 00:11:15 +0000 (02:11 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 1 Sep 2015 10:52:23 +0000 (13:52 +0300)
Propagate error code on failure.  Also changed %ld to %d in dev_err to use
ret variable rather than putting two calls to PTR_ERR.

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

// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret = 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: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/ssd1307fb.c

index b6edd28..93f4c90 100644 (file)
@@ -656,8 +656,9 @@ static int ssd1307fb_probe(struct i2c_client *client,
        bl = backlight_device_register(bl_name, &client->dev, par,
                                       &ssd1307fb_bl_ops, NULL);
        if (IS_ERR(bl)) {
-               dev_err(&client->dev, "unable to register backlight device: %ld\n",
-                       PTR_ERR(bl));
+               ret = PTR_ERR(bl);
+               dev_err(&client->dev, "unable to register backlight device: %d\n",
+                       ret);
                goto bl_init_error;
        }