On Tue, Apr 30, 2024 at 09:31:47AM -0500, Nathaniel Griswold wrote: > > >Synopsis: Assertion !cold failed in drm after console ctrl-alt-del > >Category: system > >Environment: > System : OpenBSD 7.5 > Details : OpenBSD 7.5 (GENERIC.MP) #82: Wed Mar 20 15:48:40 MDT 2024 > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > I was rebooting my system with ctrl-alt-del and got a panic. I believe i had > switched to > a different console and possibly back in the meantime. xenodm was disabled. I > have intel_drm. > >How-To-Repeat: > 1) ctrl-alt-del on console > 2) possibly switch consoles > 3) possibly switch back
thanks for the report for the archives, trace from the photo: panic: kernel diagnostic assertion "!cold" failed: file "/usr/src/sys/dev/pci/drm/include/linux/completion.h", line 89 db_enter+0x14 panic+0xc3 __assert+0x29 drm_atomic_helper_swap_state+0x646 intel_atomic_commit+0x162 drm_atomic_commit+0xa7 drm_client_modeset_commit_atomic+0x178 drm_client_modeset_commit_locked+0x5a drm_fb_helper_restore_fbdev_mode_unlocked+0x48 intel_fbdev_restore_mode+0x37 inteldrm_show_screen+0x88 wsdisplay_switch1+0xbc internal_command+0x2b2 wskbd_translate+0xdf drm code isn't able to handle requests when cold. That is partly why all drm drivers use config_mountroot(). Index: sys/dev/pci/drm/drm_fb_helper.c =================================================================== RCS file: /cvs/src/sys/dev/pci/drm/drm_fb_helper.c,v diff -u -p -r1.38 drm_fb_helper.c --- sys/dev/pci/drm/drm_fb_helper.c 5 Apr 2024 14:31:57 -0000 1.38 +++ sys/dev/pci/drm/drm_fb_helper.c 1 May 2024 01:47:05 -0000 @@ -242,6 +242,10 @@ __drm_fb_helper_restore_fbdev_mode_unloc return 0; #ifdef __OpenBSD__ + /* if we can't sleep, return */ + if (cold) + return -ENXIO; + force = true; #endif