> 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
The second part of the screenshot shows a deeper trace Above Trace +++ Additional trace +++ wskbd_cngetc(c00) at wskbd_cngetc+0x8e boot(8) at boot+0x13c cpu_spinup_finish() at cpu_spinup_finish sys_reboot(ffff80003c1aca90,ffff80003c1a4330,ffff80003c1a42a0) at sys_reboot+0x81 syscall(ffff80003c1a4330) at syscall+0x532 Xsyscall() at Xsyscall+0x128 > drm code isn't able to handle requests when cold. That is > partly why all drm drivers use config_mountroot(). So the system will still reboot if i'm rebooting it, right (i guess the below change just affects the drm layer). > 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 > >