The wcd938x codec driver happily ignores error handling, something which has bitten us in the past when we hit a probe deferral: https://lore.kernel.org/lkml/20230705123018.30903-1-johan+linaro@xxxxxxxxxx/ Fix up the remaining probe and component bind paths that left resources allocated and registered after errors to avoid similar future issues. Johan Johan Hovold (7): ASoC: codecs: wcd938x: drop bogus bind error handling ASoC: codecs: wcd938x: fix unbind tear down order ASoC: codecs: wcd938x: fix resource leaks on bind errors ASoC: codecs: wcd938x: fix regulator leaks on probe errors ASoC: codecs: wcd938x: fix runtime PM imbalance on remove ASoC: codecs: wcd938x-sdw: fix use after free on driver unbind ASoC: codecs: wcd938x-sdw: fix runtime PM imbalance on probe errors sound/soc/codecs/wcd938x-sdw.c | 27 +++++++++++- sound/soc/codecs/wcd938x.c | 76 +++++++++++++++++++++++++--------- 2 files changed, 83 insertions(+), 20 deletions(-) -- 2.41.0