Messages in this thread | | | Subject | Re: 5.15 Linux Regression in sound hda | From | Scott Branden <> | Date | Wed, 10 Nov 2021 10:53:53 -0800 |
| |
Hi Takashi,
On 2021-11-10 6:33 a.m., Takashi Iwai wrote: > 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. I don't know if HD-audio works at all on this system - we don't test HD-audio but parse the dmesg for issues so detected this new one.
> > The warning itself can be solved by the patch below, I suppose > (note: totally untested!)
I tested your patch below and can confirm the WARN_ON is not produced on boot.
> > > 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; > } > > Regards, Scott [unhandled content-type:application/pkcs7-signature] | |