Skip to content

Commit c8228b5

Browse files
krzkgregkh
authored andcommitted
ASoC: codecs: wcd9375: Fix double free of regulator supplies
commit 63fe298 upstream. Driver gets regulator supplies in probe path with devm_regulator_bulk_get(), so should not call regulator_bulk_free() in error and remove paths to avoid double free. Fixes: 216d041 ("ASoC: codecs: wcd937x: Remove separate handling for vdd-buck supply") Cc: stable@vger.kernel.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20250526-b4-b4-asoc-wcd9395-vdd-px-fixes-v1-3-0b8a2993b7d3@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 5626fef commit c8228b5

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

sound/soc/codecs/wcd937x.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2897,10 +2897,8 @@ static int wcd937x_probe(struct platform_device *pdev)
28972897
return dev_err_probe(dev, ret, "Failed to get supplies\n");
28982898

28992899
ret = regulator_bulk_enable(WCD937X_MAX_BULK_SUPPLY, wcd937x->supplies);
2900-
if (ret) {
2901-
regulator_bulk_free(WCD937X_MAX_BULK_SUPPLY, wcd937x->supplies);
2900+
if (ret)
29022901
return dev_err_probe(dev, ret, "Failed to enable supplies\n");
2903-
}
29042902

29052903
wcd937x_dt_parse_micbias_info(dev, wcd937x);
29062904

@@ -2936,7 +2934,6 @@ static int wcd937x_probe(struct platform_device *pdev)
29362934

29372935
err_disable_regulators:
29382936
regulator_bulk_disable(WCD937X_MAX_BULK_SUPPLY, wcd937x->supplies);
2939-
regulator_bulk_free(WCD937X_MAX_BULK_SUPPLY, wcd937x->supplies);
29402937

29412938
return ret;
29422939
}
@@ -2953,7 +2950,6 @@ static void wcd937x_remove(struct platform_device *pdev)
29532950
pm_runtime_dont_use_autosuspend(dev);
29542951

29552952
regulator_bulk_disable(WCD937X_MAX_BULK_SUPPLY, wcd937x->supplies);
2956-
regulator_bulk_free(WCD937X_MAX_BULK_SUPPLY, wcd937x->supplies);
29572953
}
29582954

29592955
#if defined(CONFIG_OF)

0 commit comments

Comments
 (0)