Skip to contentSkip to conversation

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

PATCH In review Axel Lin 3 participants 3 messages Aug 29, 2015 – Aug 30, 2015

Subsystems (2)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 ASoC: zx296702-i2s: Fix resource leak when unload module

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.

---
 sound/soc/zte/zx296702-i2s.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
sound/soc/zte/zx296702-i2s.c +3 -3
index 1930c42..1cad93d 100644
@@ -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;
Signature · 1 line
2.1.0
Reviewed-by on v1 1/1
#1 lore raw

2015-08-29 23:09 GMT+08:00 Axel Lin <[email protected]>:

Quoted 39 lines

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.

---
 sound/soc/zte/zx296702-i2s.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
sound/soc/zte/zx296702-i2s.c +3 -4
index 1930c42..1cad93d 100644
@@ -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

maintainer
#2 lore raw

Applied "ASoC: zx296702-i2s: Fix resource leak when unload module" to the asoc tree

In reply to Axel Lin

The patch

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

has been applied to the asoc tree at

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git

All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying to this mail.

Thanks,
Mark

Quoted 1 line

From a695d474ab850cde27e82e4f3f1431269f00762b Mon Sep 17 00:00:00 2001

From: Axel Lin <[email protected]>
Date: Sat, 29 Aug 2015 23:09:30 +0800
Subject: [PATCH] ASoC: zx296702-i2s: Fix resource leak when unload module

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.

---
 sound/soc/zte/zx296702-i2s.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
sound/soc/zte/zx296702-i2s.c +3 -3
index 98d96e1..f4b681d 100644
@@ -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;
Signature · 1 line
2.5.0