Created attachment 287865 [details] dmesg output First of all: 1. This bug seems similar to https://bugs.freedesktop.org/show_bug.cgi?id=111214, however this bug is considered patched and non-reproducible in newer kernel versions. Also, this issue is not related to external monitors / devices. 2. Product/Component was hard to pin down, seems like it fits in multiple categories. Please correct it if I was wrong. 3. This bug appears randomly, most of the times it works. My hardware: XPS13 7390 2-in-1 (Intel i7-1065G7) Problem: Booted Linux on the notebook, the system was rather unresponsive and performed poorly. The sound worked for a short moment, but volume control didn't. I stopped playing music, and tried to turn down the volume, this however, did not work: pavucontrol froze at startup, pactl list timed out. After some time, the system was responsive again, however playing sounds did no longer work. PulseAudio lists only the "dummy output". Checking dmesg yields problems in snd_hda_intel. Please note that this happened pretty much every second, i.e. there seems to be a persistent problem. [ 22.407939] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x202f8100 [ 23.417958] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x202f8100 [ 24.424600] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20170500 [ 25.428039] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370500
Created attachment 287867 [details] /proc/modules
it happens also with kernel 5.6.11
also happens with 5.6.13, never observed it in 5.6.7 and before
Also experiencing this on 5.6.13, pulseaudio on a Dell E7440. Hang reliably occurs after suspend/resume, after ~30s recovers to fully working state.
Problem persists with 5.7.2. However this time I was able to properly shutdown the system. Happy to aid with additional information if needed. Excerpt from logs: kernel: snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x20170500 kernel: snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x20170500 kernel: snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20170500 ... kernel: snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270d00 kernel: snd_hda_codec_generic hdaudioC0D2: Unable to sync register 0x2f0d00. -11 kernel: snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270d00 kernel: snd_hda_codec_generic hdaudioC0D2: Unable to sync register 0x2f0d00. -11 kernel: snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x203f0900 ... kernel: snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
not sure whether related, but somewhat later systemd restarted the sound service resulting in: kernel: ------------[ cut here ]------------ kernel: percpu ref (cgroup_bpf_release_fn) <= 0 (0) after switching to atomic kernel: WARNING: CPU: 1 PID: 0 at lib/percpu-refcount.c:161 percpu_ref_switch_to_atomic_rcu+0x119/0x120 kernel: Modules linked in: tun(E) kvm_intel(E) kvm(E) irqbypass(E) mei_me(E) mei(E) tpm_crb(E) tpm_tis(E) tpm_tis_core(E) tpm(E) rng_core(E) acpi_pad(E) ip_tables(E) autofs4(E) linear(E) fan(E) [last unloaded: msr] kernel: CPU: 1 PID: 0 Comm: swapper/1 Tainted: G E 5.7.2-calvin #1 kernel: Hardware name: Gigabyte Technology Co., Ltd. Q270M-D3H/Q270M-D3H, BIOS F3 04/25/2017 kernel: RIP: 0010:percpu_ref_switch_to_atomic_rcu+0x119/0x120 kernel: Code: eb af 80 3d a9 0a 28 01 00 0f 85 63 ff ff ff 48 8b 55 d8 48 c7 c7 48 28 dc 9c c6 05 91 0a 28 01 01 48 8b 75 e8 e8 29 22 c0 ff <0f> 0b e9 41 ff ff ff 55 48 89 fd 53 48 89 f3 48 83 ec 30 65 48 8b kernel: RSP: 0018:ffffc3b5c003cef0 EFLAGS: 00010286 kernel: RAX: 0000000000000000 RBX: 7fffffffffffffff RCX: 0000000000000000 kernel: RDX: 0000000000000045 RSI: ffffffff9d766405 RDI: ffffffff9d766805 kernel: RBP: ffffa02c09b6a958 R08: 000009f34a0a4e41 R09: 0000000000000045 kernel: R10: 0000000000000000 R11: 000000009d7663cb R12: 00004389a1e51610 kernel: R13: ffffa02c1b96db80 R14: 0000000000000000 R15: 0000000000000000 kernel: FS: 0000000000000000(0000) GS:ffffa02c1de80000(0000) knlGS:0000000000000000 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 kernel: CR2: 00007ffc2aca0b68 CR3: 0000000417e38002 CR4: 00000000003606e0 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 kernel: Call Trace: kernel: <IRQ> kernel: rcu_core+0x1c2/0x470 kernel: __do_softirq+0xe0/0x2ca kernel: irq_exit+0xa0/0xb0 kernel: smp_apic_timer_interrupt+0x76/0x130 kernel: apic_timer_interrupt+0xf/0x20 kernel: </IRQ> kernel: RIP: 0010:poll_idle+0x5d/0xac kernel: Code: f0 41 80 4e 02 20 49 8b 06 a8 08 75 3a 4c 89 e7 48 89 ee e8 f5 aa d8 ff 49 89 c4 b8 c9 00 00 00 49 8b 16 83 e2 08 75 1f f3 90 <83> e8 01 75 f1 65 8b 3d 77 1d ad 63 e8 62 d6 5a ff 48 29 d8 4c 39 kernel: RSP: 0018:ffffc3b5c00c3e40 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13 kernel: RAX: 0000000000000076 RBX: 000009f34a09cbc2 RCX: 000000000000001f kernel: RDX: 0000000000000000 RSI: ffffa02c1deb4700 RDI: ffffffff9d0c7c20 kernel: RBP: ffffa02c1deb4700 R08: 000009f34a09cbc2 R09: ffffa02c1deaa69c kernel: R10: 0000000000000300 R11: 0000000000000000 R12: 00000000000007d0 kernel: R13: 0000000000000000 R14: ffffa02c1b96db80 R15: ffffa02c1b96db80 kernel: cpuidle_enter_state+0x6e/0x380 kernel: cpuidle_enter+0x29/0x40 kernel: do_idle+0x1d9/0x260 kernel: cpu_startup_entry+0x19/0x20 kernel: start_secondary+0x15c/0x1b0 kernel: secondary_startup_64+0xa4/0xb0 kernel: ---[ end trace fe617a4f30197046 ]---
it seems it happens when kernel config is missing CONFIG_SND_HDA_CODEC_HDMI=y
Indeed, enabling CONFIG_SND_HDA_CODEC_HDMI fixed it for me.
I'm currently running 5.7.2 and the issue seems unreproducible. I compared my 5.5.8 config to what I'm using now and the important differences seem to be: CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y has been removed from the config CONFIG_SND_HDA_PREALLOC_SIZE=4096 has been set to 0 CONFIG_SND_HDA_CODEC_HDMI was set to "module" in both configs, i.e. didn't change at all.
Setting CONFIG_SND_HDA_CODEC_HDMI=y seems to fix it for me as well. Before it was set to CONFIG_SND_HDA_CODEC_HDMI=m, however the module was not loaded. Maybe dependencies between modules -- either at compile-time or at run-time -- are not complete.
I have this problem in all distros I tested except Arch. I looked at Arch kernel configs and compared to Ubuntu kernel configs. One difference is 'CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1' in Ubuntu while Arch has 'CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0'. So I created the file '/etc/modprobe.d/audio_powersave.conf' and added 'options snd_hda_intel power_save=0 ' to it and this issue was fixed for me.