e4374cf
From cb1ac4a749a208eb8f9995042a110134977146d2 Mon Sep 17 00:00:00 2001
95b5d85
From: Dave Airlie <airlied@panoply-rh.(none)>
95b5d85
Date: Thu, 13 Mar 2008 16:16:46 +1000
95b5d85
Subject: [PATCH] fbdev: make entity fail if PCI claimed already.
95b5d85
95b5d85
bad kitty fbdev.
95b5d85
---
95b5d85
 hw/xfree86/common/xf86Bus.c   |    3 +++
e4374cf
 hw/xfree86/common/xf86fbBus.c |    7 +++++++
e4374cf
 2 files changed, 10 insertions(+), 0 deletions(-)
95b5d85
95b5d85
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
95b5d85
index f7ffac8..9f4e0ca 100644
95b5d85
--- a/hw/xfree86/common/xf86Bus.c
95b5d85
+++ b/hw/xfree86/common/xf86Bus.c
95b5d85
@@ -458,6 +458,9 @@ xf86GetEntityInfo(int entityIndex)
95b5d85
     EntityInfoPtr pEnt;
95b5d85
     int i;
95b5d85
     
95b5d85
+    if (entityIndex == -1)
95b5d85
+	return NULL;
95b5d85
+
95b5d85
     if (entityIndex >= xf86NumEntities)
95b5d85
 	return NULL;
95b5d85
     
95b5d85
diff --git a/hw/xfree86/common/xf86fbBus.c b/hw/xfree86/common/xf86fbBus.c
e4374cf
index 102f6b1..cfd8811 100644
95b5d85
--- a/hw/xfree86/common/xf86fbBus.c
95b5d85
+++ b/hw/xfree86/common/xf86fbBus.c
e4374cf
@@ -58,6 +58,13 @@ xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active)
95b5d85
 {
95b5d85
     EntityPtr p;
95b5d85
     int num;
95b5d85
+
95b5d85
+    if (pciSlotClaimed)
95b5d85
+	return -1;
e4374cf
+#if defined(__sparc__) || defined (__sparc64__)
e4374cf
+    if (sbusSlotClaimed)
e4374cf
+	return -1;
e4374cf
+#endif
95b5d85
     
95b5d85
     num = xf86AllocateEntity();
95b5d85
     p = xf86Entities[num];
95b5d85
-- 
e4374cf
1.6.0.6
95b5d85