On Thu, 11 May 2023 17:12:23 +0200, Olliver Schinagl wrote: > > Hey list, > > I've noticed the following crash since the last few days, causing > audio to no longer to work. It could be related to me updating the > firmware (bios) not too long ago (I load Mac OS every few months via > an external drive) which caused the firmware to be updated. Or, it was > a kernel update, that came along every few weeks. > > I'll try to find my archlinux bugzilla stuff, to report it there as > well, but I don't think they are actively patching the sound stuff. > > The last commit I'm seeing on `patch_cirrus.c` seems to be from aug > 2022, so that can't be it, though incidentally, the change is with > regards to support for iMac 12,1 model, which is interesting as the > number is the same. > > I understand you guys probably get tons of bug reports, but best to > leave it here, just in case. > > [ 90.497004] CPU: 3 PID: 343 Comm: modprobe Not tainted > 6.3.1-arch2-1 #1 4c16b0b90f71a940c7f1bb2eb00cdd9db2a83452 > [ 90.497008] Hardware name: Apple > Inc. MacBookPro12,1/Mac-E43C1C25D4880AD6, BIOS 481.0.0.0.0 01/12/2023 > [ 90.497010] RIP: 0010:get_line_out_pfx+0x2dd/0x3e0 > [snd_hda_codec_generic] Can you try to decode which line does it hit? Also, as a blind shot, does the patch below work around the bug? thanks, Takashi -- 8< -- --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -1182,7 +1182,7 @@ static const char *get_line_out_pfx(struct hda_codec *codec, int ch, /* multi-io channels */ if (ch >= cfg->line_outs) - return channel_name[ch]; + goto fixed_names; switch (cfg->line_out_type) { case AUTO_PIN_SPEAKER_OUT: @@ -1234,8 +1234,9 @@ static const char *get_line_out_pfx(struct hda_codec *codec, int ch, if (cfg->line_outs == 1 && !spec->multi_ios) return "Line Out"; + fixed_names: if (ch >= ARRAY_SIZE(channel_name)) { - snd_BUG(); + codec_err(codec, "Too many channels in %s: %d\n", __func__, ch); return "PCM"; }