Re: 5.15 Linux Regression in sound hda
From: Takashi Iwai
Date: Wed Nov 10 2021 - 09:33:13 EST
On Tue, 09 Nov 2021 22:12:30 +0100,
Scott Branden wrote:
>
> I'm reporting a new WARN_ON in sound/hda/hdac_bus.c that was not
> present in 5.15. Sorry, I don't have time to bisect this right now
> but report is below.
>
> dmesg in 5.14 kernel was:
> snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops 0xffffffffaa2ac520)
> GACT probability on
> Mirror/redirect action on
> Simple TC action Loaded
> u32 classifier
> Performance counters on
> input device check on
> Actions configured
> hdaudio hdaudioC0D0: Unable to bind the codec
> hdaudio hdaudioC0D2: Unable to bind the codec
>
> dmesg in 5.15 kernel produces WARN_ON in sound/hda/hdac_bus.c
> snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops 0xffffffffad8b02a0)
> GACT probability on
> Mirror/redirect action on
> Simple TC action Loaded
> u32 classifier
> Performance counters on
> input device check on
> Actions configured
> snd_hda_intel 0000:00:1f.3: Cannot probe codecs, giving up
> Initializing XFRM netlink socket
> ------------[ cut here ]------------
> NET: Registered PF_INET6 protocol family
> WARNING: CPU: 14 PID: 186 at sound/hda/hdac_bus.c:73
This indicates the leftover codecs on the bus, and it's likely
triggered by the recent change to allow retrying the codec probes.
Did this HD-audio stuff work at all before 5.15? The codec bind error
itself shouldn't be brought by that change.
The warning itself can be solved by the patch below, I suppose
(note: totally untested!)
thanks,
Takashi
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2327,7 +2327,8 @@ static int azx_probe_continue(struct azx *chip)
out_free:
if (err < 0) {
- azx_free(chip);
+ pci_set_drvdata(pci, NULL);
+ snd_card_free(chip->card);
return err;
}