[alsa-devel] [PATCH] ASoC: zx296702-i2s: Fix resource leak when unload module

Jun Nie jun.nie at linaro.org
Sun Aug 30 15:35:09 CEST 2015


Reviewed-by: Jun Nie <jun.nie at linaro.org>

2015-08-29 23:09 GMT+08:00 Axel Lin <axel.lin at 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 at 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
>
>
>


More information about the Alsa-devel mailing list