diff options
| author | Mark Brown <broonie@kernel.org> | 2026-10-27 11:53:13 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-27 11:53:13 +0000 |
| commit | 6eba74479d729ec2552185fb87eccf0aa7989715 (patch) | |
| tree | 9399f329efe6a0f1fe89c1191be544f29321a7c1 /scripts/stackusage | |
| parent | 55df18877471ade98ad0a1c12c95f78ba54ec5cc (diff) | |
| parent | f26c0d5f91d918bb66cbbc8916f41836adb38346 (diff) | |
| download | linux-6eba74479d729ec2552185fb87eccf0aa7989715.tar.gz linux-6eba74479d729ec2552185fb87eccf0aa7989715.zip | |
ASoC: hdac_hda: Fix module unbind/bind via sysfs
Peter Ujfalusi <peter.ujfalusi@linux.intel.com> says:
While looking at the reconfig lockup reported in
https://bugzilla.kernel.org/show_bug.cgi?id=222182
I checked whether the same can be done by unbinding and binding the HDA
codec driver via sysfs:
echo -n ehdaudio0D0 > /sys/bus/hdaudio/drivers/snd_hda_codec_alc882/unbind
echo -n ehdaudio0D0 > /sys/bus/hdaudio/drivers/snd_hda_codec_alc882/bind
The unbind works and the SOF card is removed, but the codec cannot be
bound again. This has been broken for a long time with hdac_hda; the
reconfig lockup itself is addressed by a separate patch.
Patch 1 and 2 fix the bind: the codec private data was lost on unbind
and the codec device type was left as HDA_DEV_ASOC, so no HDA codec
driver could match it anymore. Patch 2 depends on patch 1, otherwise
the bind would dereference NULL drvdata instead of failing.
Patch 3 fixes an unbalanced runtime PM disable in the component remove,
which leaves the codec with runtime PM disabled after the card is
re-created. This is also visible with machine driver unbind/bind.
Tested on PTL (ALC888 + iDisp): repeated codec and machine driver
unbind/bind, playback/capture, runtime suspend and module reload.
Link: https://patch.msgid.link/20261027083840.28813-1-peter.ujfalusi@linux.intel.com
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
