2014-04-08 06:20:40

by Tuomas Tynkkynen

[permalink] [raw]
Subject: [PATCH] staging: goldfish: Call free_irq in error path

If misc_register failed in goldfish_audio_probe, the already requested
IRQ wouldn't get freed. Add a call to free_irq() like there is in
goldfish_audio_remove().

Signed-off-by: Tuomas Tynkkynen <[email protected]>
---
Only compile tested. For the Eudyptula Challenge.
drivers/staging/goldfish/goldfish_audio.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/staging/goldfish/goldfish_audio.c b/drivers/staging/goldfish/goldfish_audio.c
index f96dcec..7ac2602 100644
--- a/drivers/staging/goldfish/goldfish_audio.c
+++ b/drivers/staging/goldfish/goldfish_audio.c
@@ -334,6 +334,7 @@ static int goldfish_audio_probe(struct platform_device *pdev)
return 0;

err_misc_register_failed:
+ free_irq(data->irq, data);
err_request_irq_failed:
dma_free_coherent(&pdev->dev, COMBINED_BUFFER_SIZE,
data->buffer_virt, data->buffer_phys);
--
1.7.9.5


2014-04-08 11:17:00

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] staging: goldfish: Call free_irq in error path

On Tue, 8 Apr 2014 09:15:22 +0300
Tuomas Tynkkynen <[email protected]> wrote:

> If misc_register failed in goldfish_audio_probe, the already requested
> IRQ wouldn't get freed. Add a call to free_irq() like there is in
> goldfish_audio_remove().
>
> Signed-off-by: Tuomas Tynkkynen <[email protected]>

Acked-by: Alan Cox <[email protected]>