summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/drm/drm_fb_helper.c
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2019-04-30 01:39:19 +0000
committerjsg <jsg@openbsd.org>2019-04-30 01:39:19 +0000
commit85e182c61ffe2c7ee6894fa987ae9e8dc8e1f5fe (patch)
treebaf67470c4c961ac677a3c72fcafce59ccec2e1f /sys/dev/pci/drm/drm_fb_helper.c
parentMake v[46]_info() return all the interface flags instead of just (diff)
downloadwireguard-openbsd-85e182c61ffe2c7ee6894fa987ae9e8dc8e1f5fe.tar.xz
wireguard-openbsd-85e182c61ffe2c7ee6894fa987ae9e8dc8e1f5fe.zip
Add an equivalent test for master in drm_fb_helper_is_bound()
Prevents black screens on hotplugging a new display with Xorg running which required a vt switch for screens to be useable. Reported by various people on misc@. Tested by and ok sthen@
Diffstat (limited to 'sys/dev/pci/drm/drm_fb_helper.c')
-rw-r--r--sys/dev/pci/drm/drm_fb_helper.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/drm_fb_helper.c b/sys/dev/pci/drm/drm_fb_helper.c
index 237f274ebe1..785ed969911 100644
--- a/sys/dev/pci/drm/drm_fb_helper.c
+++ b/sys/dev/pci/drm/drm_fb_helper.c
@@ -575,6 +575,9 @@ static bool drm_fb_helper_is_bound(struct drm_fb_helper *fb_helper)
#ifdef notyet
if (READ_ONCE(dev->master))
return false;
+#else
+ if (!SPLAY_EMPTY(&dev->files))
+ return false;
#endif
drm_for_each_crtc(crtc, dev) {