summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorDaniel Willerud <daniel.willerud@stericsson.com>2011-03-05 11:46:27 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2011-03-23 10:42:04 +0100
commit633e0fa59072f5d78227191b212cb12ad3d21902 (patch)
tree498a88f8c9b653679f0a5eb8a26b93d8e107af38 /drivers/mfd
parent6321992cd3c56bab6cc52e3384951e12616805a1 (diff)
mfd: Free dangling irq in ab8500 gpadc probe error path
Signed-off-by: Daniel Willerud <daniel.willerud@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-gpadc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mfd/ab8500-gpadc.c b/drivers/mfd/ab8500-gpadc.c
index 178cbc55cae..b5b75b74e86 100644
--- a/drivers/mfd/ab8500-gpadc.c
+++ b/drivers/mfd/ab8500-gpadc.c
@@ -267,11 +267,13 @@ static int __devinit ab8500_gpadc_probe(struct platform_device *pdev)
if (IS_ERR(gpadc->regu)) {
ret = PTR_ERR(gpadc->regu);
dev_err(gpadc->dev, "failed to get vtvout LDO\n");
- goto fail;
+ goto fail_irq;
}
list_add_tail(&gpadc->node, &ab8500_gpadc_list);
dev_dbg(gpadc->dev, "probe success\n");
return 0;
+fail_irq:
+ free_irq(gpadc->irq, gpadc);
fail:
kfree(gpadc);
gpadc = NULL;