wm831x_power: Fix off-by-one at free_irq()
authorTakeshi Yoshimura <yos@sslab.ics.keio.ac.jp>
Sun, 14 Jun 2015 11:55:18 +0000 (20:55 +0900)
committerSebastian Reichel <sre@kernel.org>
Mon, 15 Jun 2015 10:30:32 +0000 (12:30 +0200)
An error handling in wm831x_power_probe() mistakenly frees a failed-to-
request irq as well as other irqs. I added missing decrement of the loop
counter.

Signed-off-by: Takeshi Yoshimura <yos@sslab.ics.keio.ac.jp>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/wm831x_power.c

index 0161bda..db11ae6 100644 (file)
@@ -609,6 +609,7 @@ static int wm831x_power_probe(struct platform_device *pdev)
        return ret;
 
 err_bat_irq:
+       --i;
        for (; i >= 0; i--) {
                irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
                free_irq(irq, power);