Calling drmModeRmFB is only allowed in DRM master mode. Since leaving the VT also drops master mode we need to remove the FB before calling I830LeaveVT. This is only a real leak in case of a server reset, otherwise the server process will exit anyway and the kernel will clean up the FB. Signed-off-by: Imre Deak <imre.deak at intel.com> --- src/intel_driver.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/intel_driver.c b/src/intel_driver.c index c5be679..ca8e530 100644 --- a/src/intel_driver.c +++ b/src/intel_driver.c @@ -1049,10 +1049,6 @@ static Bool I830CloseScreen(CLOSE_SCREEN_ARGS_DECL) I830UeventFini(scrn); #endif - if (scrn->vtSema == TRUE) { - I830LeaveVT(VT_FUNC_ARGS(0)); - } - DeleteCallback(&FlushCallback, intel_flush_callback, scrn); intel_glamor_close_screen(screen); @@ -1082,6 +1078,10 @@ static Bool I830CloseScreen(CLOSE_SCREEN_ARGS_DECL) intel->front_buffer = NULL; } + if (scrn->vtSema == TRUE) { + I830LeaveVT(VT_FUNC_ARGS(0)); + } + intel_batch_teardown(scrn); if (INTEL_INFO(intel)->gen >= 40) -- 1.7.9.5