File intel_check_kms_on_probe.diff of Package xorg-x11-driver-video
diff --git a/src/i810_driver.c b/src/i810_driver.c
index 3109834..5760ba0 100644
--- a/src/i810_driver.c
+++ b/src/i810_driver.c
@@ -475,6 +475,8 @@ static Bool intel_pci_probe (DriverPtr driver,
break;
#endif
default:
+ if (! i830_kernel_mode_enabled(scrn))
+ return FALSE;
intel_init_scrn(scrn);
break;
}
diff --git a/src/i830.h b/src/i830.h
index 43c5887..a0cad4b 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -394,6 +394,7 @@ unsigned long intel_get_pixmap_pitch(PixmapPtr pixmap);
#include "i830_batchbuffer.h"
/* I830 specific functions */
+extern Bool i830_kernel_mode_enabled(ScrnInfoPtr scrn);
extern void IntelEmitInvarientState(ScrnInfoPtr scrn);
extern void I830EmitInvarientState(ScrnInfoPtr scrn);
extern void I915EmitInvarientState(ScrnInfoPtr scrn);
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 40ad9c3..02086ff 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -394,7 +394,8 @@ Bool i830_tiled_width(intel_screen_private *intel, int *width, int cpp)
* DRM mode setting Linux only at this point... later on we could
* add a wrapper here.
*/
-static Bool i830_kernel_mode_enabled(ScrnInfoPtr scrn)
+/* Required in probe(), thus exported */
+Bool i830_kernel_mode_enabled(ScrnInfoPtr scrn)
{
struct pci_device *PciInfo;
EntityInfoPtr pEnt;