diff options
author | Daniel Willerud <daniel.willerud@stericsson.com> | 2011-03-05 05:46:27 -0500 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-03-23 05:42:04 -0400 |
commit | 633e0fa59072f5d78227191b212cb12ad3d21902 (patch) | |
tree | 498a88f8c9b653679f0a5eb8a26b93d8e107af38 /drivers/mfd/ab8500-gpadc.c | |
parent | 6321992cd3c56bab6cc52e3384951e12616805a1 (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.c | 4 |
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; |
275 | fail_irq: | ||
276 | free_irq(gpadc->irq, gpadc); | ||
275 | fail: | 277 | fail: |
276 | kfree(gpadc); | 278 | kfree(gpadc); |
277 | gpadc = NULL; | 279 | gpadc = NULL; |