fbdev: ssd1307fb: potential ERR_PTR dereference
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 23 May 2015 17:32:35 +0000 (20:32 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 27 May 2015 09:54:46 +0000 (12:54 +0300)
The error handling got shifted down a few lines from where it was
supposed to be for some reason.

Fixes: a14a7ba8cb0f ('fbdev: ssd1307fb: add backlight controls for setting the contrast')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/ssd1307fb.c

index 8fc224c990321b4db5b8c8af8aa62678b4011616..9c28a77c29345d9826b0121b70118e98e93f8a98 100644 (file)
@@ -655,15 +655,16 @@ static int ssd1307fb_probe(struct i2c_client *client,
        snprintf(bl_name, sizeof(bl_name), "ssd1307fb%d", info->node);
        bl = backlight_device_register(bl_name, &client->dev, par,
                                       &ssd1307fb_bl_ops, NULL);
-       bl->props.brightness = par->contrast;
-       bl->props.max_brightness = MAX_CONTRAST;
-       info->bl_dev = bl;
-
        if (IS_ERR(bl)) {
                dev_err(&client->dev, "unable to register backlight device: %ld\n",
                        PTR_ERR(bl));
                goto bl_init_error;
        }
+
+       bl->props.brightness = par->contrast;
+       bl->props.max_brightness = MAX_CONTRAST;
+       info->bl_dev = bl;
+
        dev_info(&client->dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
 
        return 0;