[alsa-devel] [PATCH] ASoC: Fix hx4700 error handling to free gpios if snd_soc_register_card fails

Axel Lin axel.lin at gmail.com
Mon Dec 12 04:26:00 CET 2011


Signed-off-by: Axel Lin <axel.lin at gmail.com>
---
 sound/soc/pxa/hx4700.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c
index e32afaf..03ef9f3 100644
--- a/sound/soc/pxa/hx4700.c
+++ b/sound/soc/pxa/hx4700.c
@@ -209,9 +209,10 @@ static int __devinit hx4700_audio_probe(struct platform_device *pdev)
 	snd_soc_card_hx4700.dev = &pdev->dev;
 	ret = snd_soc_register_card(&snd_soc_card_hx4700);
 	if (ret)
-		return ret;
+		gpio_free_array(hx4700_audio_gpios,
+				ARRAY_SIZE(hx4700_audio_gpios));
 
-	return 0;
+	return ret;
 }
 
 static int __devexit hx4700_audio_remove(struct platform_device *pdev)
-- 
1.7.5.4





More information about the Alsa-devel mailing list