aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/ab8500-gpadc.c
diff options
context:
space:
mode:
authorDaniel Willerud <daniel.willerud@stericsson.com>2011-03-05 05:46:27 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2011-03-23 05:42:04 -0400
commit633e0fa59072f5d78227191b212cb12ad3d21902 (patch)
tree498a88f8c9b653679f0a5eb8a26b93d8e107af38 /drivers/mfd/ab8500-gpadc.c
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/ab8500-gpadc.c')
-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 178cbc55caea..b5b75b74e86c 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)
267 if (IS_ERR(gpadc->regu)) { 267 if (IS_ERR(gpadc->regu)) {
268 ret = PTR_ERR(gpadc->regu); 268 ret = PTR_ERR(gpadc->regu);
269 dev_err(gpadc->dev, "failed to get vtvout LDO\n"); 269 dev_err(gpadc->dev, "failed to get vtvout LDO\n");
270 goto fail; 270 goto fail_irq;
271 } 271 }
272 list_add_tail(&gpadc->node, &ab8500_gpadc_list); 272 list_add_tail(&gpadc->node, &ab8500_gpadc_list);
273 dev_dbg(gpadc->dev, "probe success\n"); 273 dev_dbg(gpadc->dev, "probe success\n");
274 return 0; 274 return 0;
275fail_irq:
276 free_irq(gpadc->irq, gpadc);
275fail: 277fail:
276 kfree(gpadc); 278 kfree(gpadc);
277 gpadc = NULL; 279 gpadc = NULL;