uxa: fix leakage of FB when closing the screen

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@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Imre Deak 2012-08-31 14:31:51 +03:00 committed by Chris Wilson
parent 55cef974a5
commit 46981d0170
1 changed files with 4 additions and 4 deletions

View File

@ -1136,10 +1136,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);
@ -1169,6 +1165,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)