Skip to content

Commit 86dc090

Browse files
jhovoldbroonie
authored andcommitted
ASoC: codecs: wcd939x: fix regmap leak on probe failure
The soundwire regmap that may be allocated during probe is not freed on late probe failures. Add the missing error handling. Fixes: be2af39 ("ASoC: codecs: Add WCD939x Soundwire devices driver") Cc: stable@vger.kernel.org # 6.9 Cc: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://patch.msgid.link/20251127135057.2216-1-johan@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 6797540 commit 86dc090

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

sound/soc/codecs/wcd939x-sdw.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1400,12 +1400,18 @@ static int wcd9390_probe(struct sdw_slave *pdev, const struct sdw_device_id *id)
14001400

14011401
ret = component_add(dev, &wcd_sdw_component_ops);
14021402
if (ret)
1403-
return ret;
1403+
goto err_free_regmap;
14041404

14051405
/* Set suspended until aggregate device is bind */
14061406
pm_runtime_set_suspended(dev);
14071407

14081408
return 0;
1409+
1410+
err_free_regmap:
1411+
if (wcd->regmap)
1412+
regmap_exit(wcd->regmap);
1413+
1414+
return ret;
14091415
}
14101416

14111417
static int wcd9390_remove(struct sdw_slave *pdev)

0 commit comments

Comments
 (0)