Bug 210987

Summary: Kernel 5.10.4 - monitor wakes up but black only/no unlock screen
Product: Drivers Reporter: da_audiophile
Component: Video(Other)Assignee: drivers_video-other
Status: NEW ---    
Severity: high CC: ancarmona, bugs, chris, daniel, grzegorz.alibozek, leho, mark.blakeney, sshaikh, stepanboyko, thomas, tiwai, wychuchol7777
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 5.10.4 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: journalctl output
Fix patch

Description da_audiophile 2020-12-31 19:19:25 UTC
Created attachment 294453 [details]
journalctl output

As of installing 5.10.4, the monitor wakes up from sleep but only displays black pixels across the screen.  It is clearly on but nothing meaningful is displayed.  Attempting to change to text tty has no effect.  Rebooting is the only way to get the monitor output back.  XFCE4 power manager is calling it to sleep and wake up.

Journalctl shows the attached (journalctl.txt) at the approx time this occurred.

If I downgrade back to kernel 5.10.3, the bug does not manifest.

Distro: Arch Linux
CPU: Intel i7-4790K with onboard graphics
Video driver: modesetting_drv owned by xorg-server 1.20.10
Comment 1 Grzegorz Alibożek 2021-01-02 09:28:36 UTC
For me fixed in 5.10.4-arch2-1
Comment 3 da_audiophile 2021-01-03 14:31:26 UTC
I am still getting a kernel oops even with commit 00f09a6a8 applied when the monitor is awakened from sleep.  At least this time (n=1 only), functionality was restored.  Before, I would get that black screen as described.

[Jan 3 09:24] ------------[ cut here ]------------
[  +0.000006] WARNING: CPU: 6 PID: 864 at sound/pci/hda/patch_hdmi.c:2136 hdmi_pcm_close+0x1c8/0x1d0 [snd_hda_codec_hdmi]
[  +0.000001] Modules linked in: f2fs overlay dm_crypt cbc encrypted_keys trusted tpm rng_core joydev mousedev hid_microsoft ff_memless usbhid ip6t_REJECT nf_reject_ipv6 iwlmvm mac80211 libarc4 intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal intel_powerclamp iwlwifi kvm_intel xt_hl ip6t_rt kvm snd_hda_codec_realtek irqbypass crct10dif_pclmul dm_mod crc32_pclmul ghash_clmulni_intel snd_hda_codec_generic iTCO_wdt intel_pmc_bxt at24 snd_hda_codec_hdmi iTCO_vendor_support cfg80211 mei_hdcp ledtrig_audio aesni_intel mxm_wmi snd_hda_intel snd_intel_dspcfg crypto_simd snd_hda_codec cryptd glue_helper rapl snd_hwdep i2c_i801 intel_cstate snd_hda_core pcspkr i2c_smbus intel_uncore lpc_ich snd_pcm e1000e mei_me rfkill snd_timer ipt_REJECT mei nf_reject_ipv4 snd soundcore xt_multiport xt_comment wmi intel_smartconnect acpi_pad mac_hid xt_limit xt_addrtype xt_tcpudp xt_conntrack ip6table_filter ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp
[  +0.000031]  nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_filter xt_iprange xt_mark xt_NFQUEUE nct6775 fuse hwmon_vid coretemp ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 crc32c_intel xhci_pci xhci_pci_renesas i915 video intel_gtt i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops cec drm agpgart
[  +0.000014] CPU: 6 PID: 864 Comm: pulseaudio Not tainted 5.10.4-1-minimum #1
[  +0.000001] Hardware name: MSI MS-7888/Z97 MPOWER MAX AC (MS-7888), BIOS V1.11 02/16/2016
[  +0.000002] RIP: 0010:hdmi_pcm_close+0x1c8/0x1d0 [snd_hda_codec_hdmi]
[  +0.000001] Code: 4c 89 e7 b9 07 0f 00 00 e8 a5 ec 11 00 0f b7 33 b9 07 07 00 00 31 d2 83 e0 bf 4c 89 e7 41 89 c0 e8 cd eb 11 00 e9 5a ff ff ff <0f> 0b e9 ec fe ff ff 90 0f 1f 44 00 00 41 56 41 89 d6 ba 98 06 00
[  +0.000001] RSP: 0018:ffffaea501347e18 EFLAGS: 00010246
[  +0.000001] RAX: ffff9f2084159900 RBX: 0000000000000002 RCX: 0000000000000000
[  +0.000000] RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000003
[  +0.000001] RBP: ffff9f2083c64000 R08: ffff9f2084159900 R09: 0000000000000028
[  +0.000000] R10: ffff9f208248e600 R11: 0000000000000000 R12: ffff9f2085787000
[  +0.000001] R13: ffff9f2080e1a1d8 R14: ffff9f208c60fb08 R15: ffff9f2080e1a000
[  +0.000001] FS:  00007f8a02c84800(0000) GS:ffff9f2780380000(0000) knlGS:0000000000000000
[  +0.000000] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  +0.000001] CR2: 00007f3863d84910 CR3: 000000014ab86003 CR4: 00000000001706e0
[  +0.000000] Call Trace:
[  +0.000009]  azx_pcm_close+0x75/0xf0 [snd_hda_codec]
[  +0.000006]  snd_pcm_release_substream.part.0+0x40/0xd0 [snd_pcm]
[  +0.000002]  snd_pcm_release+0x4e/0xb0 [snd_pcm]
[  +0.000003]  __fput+0x8e/0x230
[  +0.000002]  task_work_run+0x5c/0x90
[  +0.000002]  exit_to_user_mode_prepare+0xf7/0x120
[  +0.000002]  syscall_exit_to_user_mode+0x28/0x160
[  +0.000002]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  +0.000002] RIP: 0033:0x7f8a03619f9b
[  +0.000001] Code: 8b 15 d9 6e 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb 89 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d a5 6e 0c 00 f7 d8 64 89 01 48
[  +0.000000] RSP: 002b:00007ffc35e1f1f8 EFLAGS: 00000202 ORIG_RAX: 000000000000000b
[  +0.000001] RAX: 0000000000000000 RBX: 000055cc0ad1c9e8 RCX: 00007f8a03619f9b
[  +0.000000] RDX: 0000000000000010 RSI: 0000000000001000 RDI: 00007f89fe946000
[  +0.000001] RBP: 000055cc0acc84b0 R08: 0000000000000000 R09: 0000000000000010
[  +0.000000] R10: 0000000000000007 R11: 0000000000000202 R12: 0000000000000000
[  +0.000001] R13: 000055cc0ac9f190 R14: 000055cc0ae69940 R15: 000055cc0ae0ef20
[  +0.000001] ---[ end trace e94c5d94d8c46cbf ]---
Comment 4 da_audiophile 2021-01-04 12:20:56 UTC
A user commented on a bug report I opened against the Arch Linux kernel package[1] wondering about commenting out a single line in sound/pci/hda/patch_hdmi.c which I did.  With the above commit applied and with that line commented out, I have no experienced the kernel oops nor the monitor bug.  I don't know if that is technically correct or if it introduced other problems I have not yet identified.

1. https://bugs.archlinux.org/task/69190#comment195488
Comment 5 Leho Kraav 2021-01-09 10:20:24 UTC
I think this is a duplicate of https://bugzilla.kernel.org/show_bug.cgi?id=210983
Comment 6 da_audiophile 2021-01-31 22:38:25 UTC
@Leho - I do not think this is a dup.  I am running 5.10.12 and I am still experiencing this bug.  The only way to fix it is to comment out the line I mentioned in Comment 4 above.
Comment 7 Takashi Iwai 2021-02-11 08:23:38 UTC
You can drop the snd_BUG_ON() line safely in the latest code.  The check became superfluous and bogus after the recent addition of silent-stream mode.
I'll submit and merge the fix for the upstream soon later.
Comment 8 Takashi Iwai 2021-02-11 09:18:22 UTC
Created attachment 295227 [details]
Fix patch
Comment 9 wychuchol 2021-02-18 15:59:28 UTC
It happens every time I turn off monitor or it blanks out  (and monitor goes into sleep mode).
Kernel 5.11.0 (mainline) rx 5700 xt Mesa 20.3.2 Pop OS 20.10
I can get back to DE but nothing works besides cursor movement (no response from clicking or keyboard). Only option is to go to terminal only screen and reboot.
Will that patch help in 5.11?
Comment 10 sshaikh 2021-03-25 19:06:51 UTC
Experiencing this issue with 5.11.9 via Arch. For me the fix was to add two kernel parameters as per:

https://bbs.archlinux.org/viewtopic.php?pid=1958671#p1958671

I still cannot suspend, but DPMS seems to work okay now.

Please let me know if I can contribute in any way.
Comment 11 A Carmona 2021-05-06 19:38:34 UTC
I got a j5040 (gemini lake refresh) that is also affected by this bug.
Comment 12 referi 2021-10-25 17:39:40 UTC
I have Celerone J4105 and this bug with me since kernel above 5.10. I use it with tv connected by HDMI.
After some time when system inactive I got system not responding.
error
"INFO: task pipewire:871 blocked for more than 245 seconds.
Oct 25 20:14:23 server kernel:       Not tainted 5.10.75-1-lts #1"
Comment 13 Jani Nikula 2021-11-09 07:53:24 UTC
FYI please file drm/i915 bugs at freedesktop.org gitlab.

https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs