drivers/video/ps3fb.c: fix error return code
authorPeter Senna Tschudin <peter.senna@gmail.com>
Tue, 18 Sep 2012 12:07:59 +0000 (14:07 +0200)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Sat, 22 Sep 2012 21:41:53 +0000 (21:41 +0000)
Convert a nonnegative error return code 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: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/ps3fb.c

index 213fbbcf613bdf0467eb97eec7c2c3e5649eb52d..26d321dbb5bf6c2ec2f222f2770682e9cc3166e0 100644 (file)
@@ -1035,6 +1035,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
        if (status) {
                dev_err(&dev->core, "%s: lv1_gpu_memory_allocate failed: %d\n",
                        __func__, status);
+               retval = -ENOMEM;
                goto err_close_device;
        }
        dev_dbg(&dev->core, "ddr:lpar:0x%llx\n", ddr_lpar);
@@ -1047,6 +1048,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
                dev_err(&dev->core,
                        "%s: lv1_gpu_context_allocate failed: %d\n", __func__,
                        status);
+               retval = -ENOMEM;
                goto err_gpu_memory_free;
        }
 
@@ -1054,6 +1056,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
        dinfo = (void __force *)ioremap(lpar_driver_info, 128 * 1024);
        if (!dinfo) {
                dev_err(&dev->core, "%s: ioremap failed\n", __func__);
+               retval = -ENOMEM;
                goto err_gpu_context_free;
        }
 
@@ -1122,8 +1125,10 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
        }
 
        info = framebuffer_alloc(sizeof(struct ps3fb_par), &dev->core);
-       if (!info)
+       if (!info) {
+               retval = -ENOMEM;
                goto err_context_fb_close;
+       }
 
        par = info->par;
        par->mode_id = ~ps3fb_mode;     /* != ps3fb_mode, to trigger change */