From cdf2e6549f5757c0fe9b2cbb981cee0faedc1c20f6736834c33a2c145774d670 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 28 May 2009 21:20:47 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=124 --- fbdev_fallback_fail_fix.diff | 62 ++++++++++++++++++++++++++++++++++++ xorg-x11-server.changes | 7 ++++ xorg-x11-server.spec | 8 ++++- 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 fbdev_fallback_fail_fix.diff diff --git a/fbdev_fallback_fail_fix.diff b/fbdev_fallback_fail_fix.diff new file mode 100644 index 0000000..4d8beee --- /dev/null +++ b/fbdev_fallback_fail_fix.diff @@ -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; diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 1f41713..380e45e 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -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 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 9625445..f65b7a0 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -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