summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-04-29 17:04:11 +0200
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-04-29 17:05:16 +0200
commitdc520d4fefa6a92b3a8f2eed3c5a1044dfccb3ff (patch)
treeb5b1345000a09848d6fe9468fad4a78fcda53e88
parent8a58eccc626c5b0b75c64e08b081cef4a983a1a0 (diff)
egl/wayland: Fix possible lockup in drm initializationdrm-lockup
Lockup happens when wl_drm interface is not available.
-rw-r--r--src/egl/drivers/dri2/platform_wayland.c2
-rw-r--r--src/gallium/state_trackers/egl/wayland/native_drm.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 030c68777a..1b75ffea0c 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -680,7 +680,7 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1);
if (id == 0)
- wl_display_iterate(dri2_dpy->wl_dpy, WL_DISPLAY_READABLE);
+ force_roundtrip(dri2_dpy->wl_dpy);
id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1);
if (id == 0)
goto cleanup_dpy;
diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c
index 75c871d603..604720f6e5 100644
--- a/src/gallium/state_trackers/egl/wayland/native_drm.c
+++ b/src/gallium/state_trackers/egl/wayland/native_drm.c
@@ -205,7 +205,7 @@ wayland_drm_display_init_screen(struct native_display *ndpy)
id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1);
if (id == 0)
- wl_display_iterate(drmdpy->base.dpy, WL_DISPLAY_READABLE);
+ force_roundtrip(drmdpy->base.dpy);
id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1);
if (id == 0)
return FALSE;