summaryrefslogtreecommitdiffstats
path: root/abs/core/xf86-video-vesa/revert-kernelcheck.patch
blob: 37418cc3f2d2892f4edb6838ac9029ffa0879c34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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