aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Walleij <[email protected]>2012-02-20 21:42:03 +0100
committerSamuel Ortiz <[email protected]>2012-02-21 11:57:24 +0100
commita60e8df64ddc6bd79c85a970f59f2967c968cfac (patch)
tree35dc961cf12d61795d14e28d13047c7d32604bac
parente7c248a049c2aac21bded0b0722caee6f0e57256 (diff)
mfd: Fix ab8500 error path bug
We were not freeing the irq properly in the error path in the AB8500 driver. Cc: Mark Brown <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Alex Macro <[email protected]> Signed-off-by: Michel Jaouen <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
-rw-r--r--drivers/mfd/ab8500-core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c
index 53e2a80f42fa..d295941c9a3d 100644
--- a/drivers/mfd/ab8500-core.c
+++ b/drivers/mfd/ab8500-core.c
@@ -956,11 +956,12 @@ int __devinit ab8500_init(struct ab8500 *ab8500)
return ret;
out_freeirq:
- if (ab8500->irq_base) {
+ if (ab8500->irq_base)
free_irq(ab8500->irq, ab8500);
out_removeirq:
+ if (ab8500->irq_base)
ab8500_irq_remove(ab8500);
- }
+
return ret;
}