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 <y...@sslab.ics.keio.ac.jp> --- drivers/power/wm831x_power.c | 1 + 1 file changed, 1 insertion(+) 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); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/