diff options
| author | Peter Ujfalusi <peter.ujfalusi@linux.intel.com> | 2026-10-27 10:38:40 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-27 11:53:12 +0000 |
| commit | f26c0d5f91d918bb66cbbc8916f41836adb38346 (patch) | |
| tree | 1e77327c23a8b728afb8c5fb224b8785e03c7762 /scripts/Makefile.thinlto | |
| parent | 08a44bde821d4fe22c0b6e63da04b3c59ac243a8 (diff) | |
| download | linux-f26c0d5f91d918bb66cbbc8916f41836adb38346.tar.gz linux-f26c0d5f91d918bb66cbbc8916f41836adb38346.zip | |
ASoC: hdac_hda: Balance the runtime PM disable in codec remove
hdac_hda_codec_remove() disables runtime PM of the codec device before
releasing the HDA link and calling the codec driver's remove callback,
so that no runtime resume can race with the teardown and access the
link or the already freed codec driver data.
snd_hda_codec_cleanup_for_unbind() then disables runtime PM again.
On the next probe snd_hda_codec_register() enables runtime PM only once,
leaving it disabled after the ASoC card or the codec driver has been
unbound and bound again: the codec stays powered and runtime_status
reads 'unsupported'.
Re-enable runtime PM at the end of hdac_hda_codec_remove() to balance
its own disable. The codec remains disabled until it is registered again.
Fixes: c3ec8ac82105 ("ASoC: hdac_hda: fix memleak on module unload")
Cc: stable@vger.kernel.org
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20261027083840.28813-4-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
