ARM: pxa/am200epd: fix leak in am200_init_gpio_regs error path
authorAxel Lin <axel.lin@gmail.com>
Mon, 7 Mar 2011 05:55:15 +0000 (13:55 +0800)
committerEric Miao <eric.y.miao@gmail.com>
Thu, 17 Mar 2011 10:16:12 +0000 (18:16 +0800)
If gpio_request fails when i > 0, gpios[0] is not freed in current
implementation.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
arch/arm/mach-pxa/am200epd.c

index 10964e3..4cb069f 100644 (file)
@@ -128,8 +128,8 @@ static int am200_init_gpio_regs(struct metronomefb_par *par)
        return 0;
 
 err_req_gpio:
-       while (i > 0)
-               gpio_free(gpios[i--]);
+       while (--i >= 0)
+               gpio_free(gpios[i]);
 
        return err;
 }