summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-02-20 21:42:03 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2012-02-21 11:57:24 +0100
commita60e8df64ddc6bd79c85a970f59f2967c968cfac (patch)
tree35dc961cf12d61795d14e28d13047c7d32604bac /drivers
parente7c248a049c2aac21bded0b0722caee6f0e57256 (diff)
downloadlinux-stable-a60e8df64ddc6bd79c85a970f59f2967c968cfac.tar.gz
linux-stable-a60e8df64ddc6bd79c85a970f59f2967c968cfac.tar.bz2
linux-stable-a60e8df64ddc6bd79c85a970f59f2967c968cfac.zip
mfd: Fix ab8500 error path bug
We were not freeing the irq properly in the error path in the AB8500 driver. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@stericsson.com> Signed-off-by: Alex Macro <alex.macro@stericsson.com> Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers')
-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;
}