diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2012-02-20 21:42:03 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-02-21 11:57:24 +0100 |
commit | a60e8df64ddc6bd79c85a970f59f2967c968cfac (patch) | |
tree | 35dc961cf12d61795d14e28d13047c7d32604bac /drivers/mfd | |
parent | e7c248a049c2aac21bded0b0722caee6f0e57256 (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 <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/mfd')
-rw-r--r-- | drivers/mfd/ab8500-core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c index 53e2a80f42f..d295941c9a3 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; } |