summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/i810_driver.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/i810_driver.c b/src/i810_driver.c
index bb5d3a43..8b09243d 100644
--- a/src/i810_driver.c
+++ b/src/i810_driver.c
@@ -274,6 +274,7 @@ const char *I810drmSymbols[] = {
"drmAgpRelease",
"drmAgpUnbind",
"drmAuthMagic",
+ "drmCommandNone",
"drmCommandWrite",
"drmCreateContext",
"drmCtlInstHandler",
@@ -1123,6 +1124,14 @@ I810PreInit(ScrnInfoPtr pScrn, int flags)
xf86SetOperatingState(resVgaIo, pI810->pEnt->index, ResUnusedOpr);
xf86SetOperatingState(resVgaMem, pI810->pEnt->index, ResDisableOpr);
+ pI810->LpRing = xalloc(sizeof(I810RingBuffer));
+ if (!pI810->LpRing) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Could not allocate lpring data structure.\n");
+ I810FreeRec(pScrn);
+ return FALSE;
+ }
+
return TRUE;
}
@@ -2495,6 +2504,9 @@ I810CloseScreen(int scrnIndex, ScreenPtr pScreen)
*/
xf86GARTCloseScreen(scrnIndex);
+ xfree(pI810->LpRing);
+ pI810->LpRing = NULL;
+
pScrn->vtSema = FALSE;
pScreen->CloseScreen = pI810->CloseScreen;
return (*pScreen->CloseScreen) (scrnIndex, pScreen);