diff options
author | Takeshi Yoshimura <yos@sslab.ics.keio.ac.jp> | 2015-06-14 20:55:18 +0900 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2015-06-15 12:30:32 +0200 |
commit | 85a5965e1dc5473fd2ae5ff0cb071cfc597c3451 (patch) | |
tree | 284ea1d8fc16662a4e7e81e597f2e7649748d3af /drivers/power/wm831x_power.c | |
parent | 3d7f1800af0e4a781195770644fc1297217ba71d (diff) | |
download | op-kernel-dev-85a5965e1dc5473fd2ae5ff0cb071cfc597c3451.zip op-kernel-dev-85a5965e1dc5473fd2ae5ff0cb071cfc597c3451.tar.gz |
wm831x_power: Fix off-by-one at free_irq()
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>
Diffstat (limited to 'drivers/power/wm831x_power.c')
-rw-r--r-- | drivers/power/wm831x_power.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/power/wm831x_power.c b/drivers/power/wm831x_power.c index 0161bda..db11ae6 100644 --- a/drivers/power/wm831x_power.c +++ b/drivers/power/wm831x_power.c @@ -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); |