From: Thomas Hellstrom Date: Tue, 12 Oct 2010 09:10:59 +0000 (+0200) Subject: st/xorg: Don't try to remove invalid fbs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b6b7ce84e517cfb7d1c02ef2f389c8f2e5fea04c;p=mesa.git st/xorg: Don't try to remove invalid fbs Signed-off-by: Thomas Hellstrom --- diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c index f7b3ad3505c..ca745393a9a 100644 --- a/src/gallium/state_trackers/xorg/xorg_driver.c +++ b/src/gallium/state_trackers/xorg/xorg_driver.c @@ -369,6 +369,7 @@ drv_pre_init(ScrnInfoPtr pScrn, int flags) ms = modesettingPTR(pScrn); ms->pEnt = pEnt; ms->cust = cust; + ms->fb_id = 1; pScrn->displayWidth = 640; /* default it */ @@ -864,8 +865,10 @@ drv_leave_vt(int scrnIndex, int flags) } } - drmModeRmFB(ms->fd, ms->fb_id); - ms->fb_id = -1; + if (ms->fb_id != -1) { + drmModeRmFB(ms->fd, ms->fb_id); + ms->fb_id = -1; + } /* idle hardware */ if (!ms->kms) @@ -946,7 +949,6 @@ drv_close_screen(int scrnIndex, ScreenPtr pScreen) } #endif - drmModeRmFB(ms->fd, ms->fb_id); ms->destroy_front_buffer(pScrn); if (ms->exa)