forked from pool/xorg-x11-server
This commit is contained in:
parent
e58d85adfd
commit
cdf2e6549f
62
fbdev_fallback_fail_fix.diff
Normal file
62
fbdev_fallback_fail_fix.diff
Normal file
@ -0,0 +1,62 @@
|
||||
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
|
||||
index b94d500..e624a17 100644
|
||||
--- a/hw/xfree86/common/xf86Bus.c
|
||||
+++ b/hw/xfree86/common/xf86Bus.c
|
||||
@@ -429,7 +429,7 @@ xf86GetEntityInfo(int entityIndex)
|
||||
EntityInfoPtr pEnt;
|
||||
int i;
|
||||
|
||||
- if (entityIndex >= xf86NumEntities)
|
||||
+ if (entityIndex < 0 || entityIndex >= xf86NumEntities)
|
||||
return NULL;
|
||||
|
||||
pEnt = xnfcalloc(1,sizeof(EntityInfoRec));
|
||||
@@ -1816,6 +1816,20 @@ checkRoutingForScreens(xf86State state)
|
||||
xf86FreeResList(pResVGA);
|
||||
}
|
||||
|
||||
+CARD16
|
||||
+xf86BusesClaimed(void)
|
||||
+{
|
||||
+ CARD16 ret = 0;
|
||||
+
|
||||
+ if (pciSlotClaimed) ret |= 1 << BUS_PCI;
|
||||
+ if (fbSlotClaimed) ret |= 1 << BUS_NONE;
|
||||
+#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
|
||||
+ if (sbusSlotClaimed) ret |= 1 << BUS_SBUS;
|
||||
+#endif
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* xf86PostProbe() -- Allocate all non conflicting resources
|
||||
* This function gets called by xf86Init().
|
||||
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
|
||||
index 41ca8f5..80d4d00 100644
|
||||
--- a/hw/xfree86/common/xf86Priv.h
|
||||
+++ b/hw/xfree86/common/xf86Priv.h
|
||||
@@ -123,6 +123,7 @@ extern RootWinPropPtr *xf86RegisteredPropertiesTable;
|
||||
|
||||
/* xf86Bus.c */
|
||||
|
||||
+CARD16 xf86BusesClaimed(void);
|
||||
void xf86BusProbe(void);
|
||||
void xf86ChangeBusIndex(int oldIndex, int newIndex);
|
||||
void xf86AccessInit(void);
|
||||
diff --git a/hw/xfree86/common/xf86fbBus.c b/hw/xfree86/common/xf86fbBus.c
|
||||
index 102f6b1..1c99175 100644
|
||||
--- a/hw/xfree86/common/xf86fbBus.c
|
||||
+++ b/hw/xfree86/common/xf86fbBus.c
|
||||
@@ -58,7 +58,10 @@ xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active)
|
||||
{
|
||||
EntityPtr p;
|
||||
int num;
|
||||
-
|
||||
+
|
||||
+ if (xf86BusesClaimed() & ~(1 << BUS_NONE))
|
||||
+ return -1;
|
||||
+
|
||||
num = xf86AllocateEntity();
|
||||
p = xf86Entities[num];
|
||||
p->driver = drvp;
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu May 28 15:23:44 CEST 2009 - sndirsch@suse.de
|
||||
|
||||
- fbdev_fallback_fail_fix.diff
|
||||
* fix fbdev fallback failure if no xorg.conf exists; fbdev driver
|
||||
complained about required BusID (Egbert Eich)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 30 15:04:14 CEST 2009 - sndirsch@suse.de
|
||||
|
||||
|
@ -32,7 +32,7 @@ BuildRequires: libjpeg-devel
|
||||
Url: http://xorg.freedesktop.org/
|
||||
%define EXPERIMENTAL 0
|
||||
Version: 7.4
|
||||
Release: 36
|
||||
Release: 37
|
||||
License: GPL v2 or later; X11/MIT
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Group: System/X11/Servers/XF86_4
|
||||
@ -111,6 +111,7 @@ Patch129: bug474071-fix1.diff
|
||||
Patch130: radeonhd.diff
|
||||
Patch131: commit-cadf65a.diff
|
||||
Patch132: fixed-SYNC-extension-trigger-BlockHandler-test.diff
|
||||
Patch140: fbdev_fallback_fail_fix.diff
|
||||
|
||||
%description
|
||||
This package contains the X.Org Server.
|
||||
@ -229,6 +230,7 @@ popd
|
||||
cp $RPM_SOURCE_DIR/radeonhd.h hw/xfree86/common
|
||||
%patch131 -p1
|
||||
%patch132 -p1
|
||||
%patch140 -p1
|
||||
|
||||
%build
|
||||
pushd xorg-docs-*
|
||||
@ -552,6 +554,10 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu May 28 2009 sndirsch@suse.de
|
||||
- fbdev_fallback_fail_fix.diff
|
||||
* fix fbdev fallback failure if no xorg.conf exists; fbdev driver
|
||||
complained about required BusID (Egbert Eich)
|
||||
* Thu Apr 30 2009 sndirsch@suse.de
|
||||
- instead of require do provide
|
||||
INPUT_ABI_VERSION/VIDEO_ABI_VERSION to fix dependancy loop
|
||||
|
Loading…
Reference in New Issue
Block a user