From 32ef0f59a8d62460da338568af347286aa450146 Mon Sep 17 00:00:00 2001
From: Michel Daenzer <michel@daenzer.net>
Date: Fri, 25 Jul 2003 10:31:37 +0000
Subject: Fail in DRM(agp_acquire) if the AGP aperture can't be used, such that
 the X     server falls back to PCI GART or disables the DRI gracefully

---
 linux-core/drm_agpsupport.c | 4 ++++
 linux/drm_agpsupport.h      | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/linux-core/drm_agpsupport.c b/linux-core/drm_agpsupport.c
index bab7b45c..6eaadfc2 100644
--- a/linux-core/drm_agpsupport.c
+++ b/linux-core/drm_agpsupport.c
@@ -106,6 +106,10 @@ int DRM(agp_acquire)(struct inode *inode, struct file *filp,
 
 	if (!dev->agp || dev->agp->acquired || !drm_agp->acquire)
 		return -EINVAL;
+#ifndef VMAP_4_ARGS
+	if ( dev->agp->cant_use_aperture )
+		return -EINVAL;
+#endif
 	if ((retcode = drm_agp->acquire())) return retcode;
 	dev->agp->acquired = 1;
 	return 0;
diff --git a/linux/drm_agpsupport.h b/linux/drm_agpsupport.h
index bab7b45c..6eaadfc2 100644
--- a/linux/drm_agpsupport.h
+++ b/linux/drm_agpsupport.h
@@ -106,6 +106,10 @@ int DRM(agp_acquire)(struct inode *inode, struct file *filp,
 
 	if (!dev->agp || dev->agp->acquired || !drm_agp->acquire)
 		return -EINVAL;
+#ifndef VMAP_4_ARGS
+	if ( dev->agp->cant_use_aperture )
+		return -EINVAL;
+#endif
 	if ((retcode = drm_agp->acquire())) return retcode;
 	dev->agp->acquired = 1;
 	return 0;
-- 
cgit v1.2.3