ASoC: Fix resource reclaim for osk5912
PATCH RESEND 2/2 ASoC: Fix resource reclaim for osk5912
In current implementation, there are resources leak in the error path. This patch properly reclaims the allocated resources in the error path.
Also adds a missing clk_put in osk_soc_exit.
Signed-off-by Axel Lin <[email protected]>
Acked-by Jarkko Nikula <[email protected]>
--- sound/soc/omap/osk5912.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
sound/soc/omap/osk5912.c +8 -3
@@ -177,7 +177,8 @@ static int __init osk_soc_init(void) tlv320aic23_mclk =clk_get (dev,"mclk" );if (IS_ERR (tlv320aic23_mclk)) {printk (KERN_ERR "Could not get mclk clock\n" ); -return -ENODEV ; + err =PTR_ERR (tlv320aic23_mclk); + goto err2; }/*
@@ -188,7 +189,7 @@ static int __init osk_soc_init(void)if (clk_set_rate (tlv320aic23_mclk,CODEC_CLOCK )) {printk (KERN_ERR "Cannot set MCLK for AIC23 CODEC\n" ); err = -ECANCELED ; - goto err1; + goto err3; } }
@@ -196,9 +197,12 @@ static int __init osk_soc_init(void) (uint) clk_get_rate(tlv320aic23_mclk), CODEC_CLOCK);return 0 ; -err1: + +err3:clk_put (tlv320aic23_mclk); +err2:platform_device_del (osk_snd_device); +err1:platform_device_put (osk_snd_device);return err;
@@ -207,6 +211,7 @@ err1: static void __exit osk_soc_exit(void) { +clk_put (tlv320aic23_mclk);platform_device_unregister (osk_snd_device); }
Signature · 1 line
1.7.2
Mark Brown
AppliedQuoted 7 lines · Axel Lin
In current implementation, there are resources leak in the error path. This patch properly reclaims the allocated resources in the error path.
Also adds a missing
clk_putinosk_soc_exit.Signed-off-by Axel Lin <[email protected]>Acked-by Jarkko Nikula <[email protected]>
Applied, thanks.