This commit is contained in:
parent
4322339484
commit
45427d893c
@ -1,11 +1,89 @@
|
||||
--- hw/xfree86/os-support/bus/linuxPci.c.orig 2006-11-20 22:04:35.000000000 +0100
|
||||
+++ hw/xfree86/os-support/bus/linuxPci.c 2006-11-20 22:06:08.000000000 +0100
|
||||
@@ -547,7 +547,7 @@
|
||||
pPCI = xf86GetPciHostConfigFromTag(Tag);
|
||||
|
||||
if (pPCI && (result = PCI_DOM_FROM_BUS(pPCI->busnum)))
|
||||
- return result;
|
||||
+ return result + 1;
|
||||
--- hw/xfree86/os-support/bus/linuxPci.c
|
||||
+++ hw/xfree86/os-support/bus/linuxPci.c
|
||||
@@ -550,15 +550,15 @@
|
||||
return result;
|
||||
|
||||
if (!pPCI || pPCI->fakeDevice)
|
||||
return 1; /* Domain 0 is reserved */
|
||||
- return 1; /* Domain 0 is reserved */
|
||||
+ return 0;
|
||||
|
||||
if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0)
|
||||
- return 0;
|
||||
+ return -1;
|
||||
|
||||
if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0)
|
||||
- return 0;
|
||||
+ return -1;
|
||||
|
||||
- return result + 1; /* Domain 0 is reserved */
|
||||
+ return result;
|
||||
}
|
||||
|
||||
static pointer
|
||||
@@ -628,7 +628,7 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-#define MAX_DOMAINS 257
|
||||
+#define MAX_DOMAINS 256
|
||||
static pointer DomainMmappedIO[MAX_DOMAINS];
|
||||
|
||||
static int
|
||||
@@ -649,11 +649,10 @@
|
||||
domain = xf86GetPciDomain(Tag);
|
||||
bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag));
|
||||
|
||||
- /* Domain 0 is reserved -- see xf86GetPciDomain() */
|
||||
- if ((domain <= 0) || (domain >= MAX_DOMAINS))
|
||||
+ if ((domain < 0) || (domain >= MAX_DOMAINS))
|
||||
FatalError("linuxOpenLegacy(): domain out of range\n");
|
||||
|
||||
- sprintf(path, PREFIX, domain - 1, bus, name);
|
||||
+ sprintf(path, PREFIX, domain, bus, name);
|
||||
fd = open(path, O_RDWR);
|
||||
if (fd >= 0) {
|
||||
xfree(path);
|
||||
@@ -685,7 +684,6 @@
|
||||
xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag,
|
||||
ADDRESS Base, unsigned long Size)
|
||||
{
|
||||
- int domain = xf86GetPciDomain(Tag);
|
||||
int fd;
|
||||
pointer addr;
|
||||
|
||||
@@ -733,7 +731,7 @@
|
||||
int domain = xf86GetPciDomain(Tag);
|
||||
int fd;
|
||||
|
||||
- if ((domain <= 0) || (domain >= MAX_DOMAINS))
|
||||
+ if ((domain < 0) || (domain >= MAX_DOMAINS))
|
||||
FatalError("xf86MapDomainIO(): domain out of range\n");
|
||||
|
||||
if (DomainMmappedIO[domain])
|
||||
@@ -847,7 +845,7 @@
|
||||
RANGE_TYPE(ResExcIoBlock, domain));
|
||||
pRes = xf86AddResToList(pRes, &range, -1);
|
||||
|
||||
- if (domain <= 0)
|
||||
+ if (domain < 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -881,7 +879,7 @@
|
||||
RANGE_TYPE(ResExcIoBlock, domain));
|
||||
pRes = xf86AddResToList(pRes, &range, -1);
|
||||
|
||||
- if (domain <= 0)
|
||||
+ if (domain < 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -933,7 +931,7 @@
|
||||
RANGE_TYPE(ResExcIoBlock, domain));
|
||||
pRes = xf86AddResToList(pRes, &range, -1);
|
||||
|
||||
- if (domain <= 0)
|
||||
+ if (domain < 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 18 17:08:00 CET 2006 - schwab@suse.de
|
||||
|
||||
- Fix off-by-one in pci multi-domain support [#229278].
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 13 18:26:05 CET 2006 - sndirsch@suse.de
|
||||
|
||||
|
@ -17,7 +17,7 @@ BuildRequires: Mesa-devel fontconfig-devel freetype2-devel ghostscript-library
|
||||
URL: http://xorg.freedesktop.org/
|
||||
%define EXPERIMENTAL 0
|
||||
Version: 7.2
|
||||
Release: 31
|
||||
Release: 32
|
||||
License: X11/MIT
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Group: System/X11/Servers/XF86_4
|
||||
@ -444,6 +444,8 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog -n xorg-x11-server
|
||||
* Mon Dec 18 2006 - schwab@suse.de
|
||||
- Fix off-by-one in pci multi-domain support [#229278].
|
||||
* Wed Dec 13 2006 - sndirsch@suse.de
|
||||
- libdrm.diff:
|
||||
* no longer fail when some driver tries to load "drm" module
|
||||
|
Loading…
Reference in New Issue
Block a user