31 lines
923 B
Diff
31 lines
923 B
Diff
From b1f7f190f9d4f2ab63d3e9ade3e7e04bb4b1f89f Mon Sep 17 00:00:00 2001
|
|
From: Adam Jackson <ajax@redhat.com>
|
|
Date: Wed, 08 Dec 2010 18:45:32 +0000
|
|
Subject: Refuse to load if there's a kernel driver bound to the device
|
|
|
|
Ported from the equivalent check in nv.
|
|
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
---
|
|
diff --git a/src/vesa.c b/src/vesa.c
|
|
index 168fde1..2523d76 100644
|
|
--- a/src/vesa.c
|
|
+++ b/src/vesa.c
|
|
@@ -431,8 +431,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
|
|
pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
|
|
NULL, NULL, NULL, NULL, NULL);
|
|
if (pScrn != NULL) {
|
|
- VESAPtr pVesa = VESAGetRec(pScrn);
|
|
+ VESAPtr pVesa;
|
|
|
|
+ if (pci_device_has_kernel_driver(dev)) {
|
|
+ ErrorF("vesa: Ignoring device with a bound kernel driver\n");
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
+ pVesa = VESAGetRec(pScrn);
|
|
VESAInitScrn(pScrn);
|
|
pVesa->pciInfo = dev;
|
|
}
|
|
--
|
|
cgit v0.9.0.2-2-gbebe
|