summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-04-27 15:28:21 -0700
committerEric Anholt <eric@anholt.net>2009-04-27 16:32:25 -0700
commit385ac2197b64574f30620a203e675d8da0e1472f (patch)
treea80ca2a31206e2f4601ead22869ce1fbbc3368f7 /src/i830_driver.c
parent5b05a589efb23b2fc09b06e4271174d922b1ab02 (diff)
Fix drmSetMaster/DropMaster error messages.
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r--src/i830_driver.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index b4e17375..cc0f76d5 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3452,7 +3452,7 @@ I830LeaveVT(int scrnIndex, int flags)
ret = drmDropMaster(pI830->drmSubFD);
if (ret)
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "drmDropMaster failed: %s\n", strerror(ret));
+ "drmDropMaster failed: %s\n", strerror(errno));
#endif
}
@@ -3471,9 +3471,16 @@ I830EnterVT(int scrnIndex, int flags)
#ifdef XF86DRI
ret = drmSetMaster(pI830->drmSubFD);
- if (ret)
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "drmDropMaster failed: %s\n", strerror(ret));
+ if (ret) {
+ if (errno == EINVAL) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "drmSetMaster failed: 2.6.29 or newer kernel required for "
+ "multi-server DRI\n");
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "drmSetMaster failed: %s\n", strerror(errno));
+ }
+ }
#endif
/*