diff mbox

ASoC: zx296702-i2s: Fix resource leak when unload module

Message ID 1440860970.28601.2.camel@ingics.com (mailing list archive)
State Accepted
Commit 534dcd7ea60cebc41816eff0c290700acb2cc43e
Headers show

Commit Message

Axel Lin Aug. 29, 2015, 3:09 p.m. UTC
Use devm_* API to fix leaks in current code.
1. Use devm_kzalloc to fix memory leak for zx_i2s when unload the module.
2. Use devm_snd_soc_register_component to ensure component is unregistered
   when unload the module.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 sound/soc/zte/zx296702-i2s.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Jun Nie Aug. 30, 2015, 1:35 p.m. UTC | #1
Reviewed-by: Jun Nie <jun.nie@linaro.org>

2015-08-29 23:09 GMT+08:00 Axel Lin <axel.lin@ingics.com>:
> Use devm_* API to fix leaks in current code.
> 1. Use devm_kzalloc to fix memory leak for zx_i2s when unload the module.
> 2. Use devm_snd_soc_register_component to ensure component is unregistered
>    when unload the module.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
>  sound/soc/zte/zx296702-i2s.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/zte/zx296702-i2s.c b/sound/soc/zte/zx296702-i2s.c
> index 1930c42..1cad93d 100644
> --- a/sound/soc/zte/zx296702-i2s.c
> +++ b/sound/soc/zte/zx296702-i2s.c
> @@ -380,7 +380,7 @@ static int zx_i2s_probe(struct platform_device *pdev)
>         struct zx_i2s_info *zx_i2s;
>         int ret;
>
> -       zx_i2s =  kzalloc(sizeof(*zx_i2s), GFP_KERNEL);
> +       zx_i2s = devm_kzalloc(&pdev->dev, sizeof(*zx_i2s), GFP_KERNEL);
>         if (!zx_i2s)
>                 return -ENOMEM;
>
> @@ -401,8 +401,8 @@ static int zx_i2s_probe(struct platform_device *pdev)
>         writel_relaxed(0, zx_i2s->reg_base + ZX_I2S_FIFO_CTRL);
>         platform_set_drvdata(pdev, zx_i2s);
>
> -       ret = snd_soc_register_component(&pdev->dev, &zx_i2s_component,
> -                                        &zx_i2s_dai, 1);
> +       ret = devm_snd_soc_register_component(&pdev->dev, &zx_i2s_component,
> +                                             &zx_i2s_dai, 1);
>         if (ret) {
>                 dev_err(&pdev->dev, "Register DAI failed: %d\n", ret);
>                 return ret;
> --
> 2.1.0
>
>
>
diff mbox

Patch

diff --git a/sound/soc/zte/zx296702-i2s.c b/sound/soc/zte/zx296702-i2s.c
index 1930c42..1cad93d 100644
--- a/sound/soc/zte/zx296702-i2s.c
+++ b/sound/soc/zte/zx296702-i2s.c
@@ -380,7 +380,7 @@  static int zx_i2s_probe(struct platform_device *pdev)
 	struct zx_i2s_info *zx_i2s;
 	int ret;
 
-	zx_i2s =  kzalloc(sizeof(*zx_i2s), GFP_KERNEL);
+	zx_i2s = devm_kzalloc(&pdev->dev, sizeof(*zx_i2s), GFP_KERNEL);
 	if (!zx_i2s)
 		return -ENOMEM;
 
@@ -401,8 +401,8 @@  static int zx_i2s_probe(struct platform_device *pdev)
 	writel_relaxed(0, zx_i2s->reg_base + ZX_I2S_FIFO_CTRL);
 	platform_set_drvdata(pdev, zx_i2s);
 
-	ret = snd_soc_register_component(&pdev->dev, &zx_i2s_component,
-					 &zx_i2s_dai, 1);
+	ret = devm_snd_soc_register_component(&pdev->dev, &zx_i2s_component,
+					      &zx_i2s_dai, 1);
 	if (ret) {
 		dev_err(&pdev->dev, "Register DAI failed: %d\n", ret);
 		return ret;