浏览代码

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>
Takeshi Yoshimura 10 年之前
父节点
当前提交
85a5965e1d
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/power/wm831x_power.c

+ 1 - 0
drivers/power/wm831x_power.c

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