server 1.12.99.902
This commit is contained in:
parent
7c84331bc6
commit
598252427e
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,3 +15,4 @@ xorg-server-1.9.1.tar.bz2
|
||||
/xorg-server-1.12.1.tar.bz2
|
||||
/xorg-server-1.12.2.tar.bz2
|
||||
/xorg-server-1.12.3.tar.bz2
|
||||
/xorg-server-20120717.tar.xz
|
||||
|
2
commitid
2
commitid
@ -1 +1 @@
|
||||
d53235af85d50774c68347720ce132daf9a5bc49
|
||||
77de2994774e7be24a0bad521180628feb1027c6
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
65a53b11bc01dcc97ee9b201dc620c32 xorg-server-1.12.3.tar.bz2
|
||||
961bb1ecade0ade9a4f0c04be063142c xorg-server-20120717.tar.xz
|
||||
|
@ -9,7 +9,7 @@
|
||||
# check out the master branch, pull, cherry-pick, and push. FIXME describe
|
||||
# rebasing, add convenience 'make' targets maybe.
|
||||
|
||||
#define gitdate 20120215
|
||||
%define gitdate 20120717
|
||||
%define stable_abi 1
|
||||
|
||||
%if !0%{?gitdate} || %{stable_abi}
|
||||
@ -19,9 +19,9 @@
|
||||
|
||||
%define ansic_major 0
|
||||
%define ansic_minor 4
|
||||
%define videodrv_major 12
|
||||
%define videodrv_major 13
|
||||
%define videodrv_minor 0
|
||||
%define xinput_major 16
|
||||
%define xinput_major 18
|
||||
%define xinput_minor 0
|
||||
%define extension_major 6
|
||||
%define extension_minor 0
|
||||
@ -47,7 +47,7 @@
|
||||
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.12.3
|
||||
Version: 1.12.99.902
|
||||
Release: 1%{?gitdate:.%{gitdate}}%{dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
@ -91,7 +91,6 @@ Patch5002: xserver-1.4.99-ssh-isnt-local.patch
|
||||
Patch6011: xserver-1.6.0-less-acpi-brokenness.patch
|
||||
|
||||
# ajax needs to upstream this
|
||||
Patch6027: xserver-1.6.0-displayfd.patch
|
||||
Patch6030: xserver-1.6.99-right-of.patch
|
||||
#Patch6044: xserver-1.6.99-hush-prerelease-warning.patch
|
||||
|
||||
@ -99,10 +98,6 @@ Patch6030: xserver-1.6.99-right-of.patch
|
||||
# RedHat/Fedora-specific patch
|
||||
Patch7013: xserver-1.12-Xext-fix-selinux-build-failure.patch
|
||||
|
||||
# backport pci slot claiming fix for kms drivers
|
||||
Patch7015: xserver-fix-pci-slot-claims.patch
|
||||
# backport modesetting fallback driver
|
||||
Patch7016: xserver-1.12-modesetting-fallback.patch
|
||||
# needed when building without xorg (aka s390x)
|
||||
Patch7017: xserver-1.12.2-xorg-touch-test.patch
|
||||
|
||||
@ -495,11 +490,6 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%dir %{_libdir}/xorg/modules/drivers
|
||||
%dir %{_libdir}/xorg/modules/extensions
|
||||
%{_libdir}/xorg/modules/extensions/libglx.so
|
||||
%{_libdir}/xorg/modules/extensions/libdri.so
|
||||
%{_libdir}/xorg/modules/extensions/libdri2.so
|
||||
%{_libdir}/xorg/modules/extensions/libdbe.so
|
||||
%{_libdir}/xorg/modules/extensions/libextmod.so
|
||||
%{_libdir}/xorg/modules/extensions/librecord.so
|
||||
%dir %{_libdir}/xorg/modules/input
|
||||
%{_libdir}/xorg/modules/libfbdevhw.so
|
||||
%{_libdir}/xorg/modules/libexa.so
|
||||
@ -581,6 +571,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{xserver_source_dir}
|
||||
|
||||
%changelog
|
||||
* Wed Jul 18 2012 Dave Airlie <airlied@redhat.com> 1.12.99.902-1
|
||||
- server 1.12.99.902
|
||||
|
||||
* Mon Jul 09 2012 Peter Hutterer <peter.hutterer@redhat.com> 1.12.3-1
|
||||
- server 1.12.3
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
From a2a02882ab65133e6c0c69db1f38bc20b406236f Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Sun, 6 May 2012 17:35:34 +0100
|
||||
Subject: [PATCH] xfree86: add modesetting driver to fallback list on Linux
|
||||
|
||||
Add the modesetting driver to the fallback list on Linux, after vesa
|
||||
before fbdev.
|
||||
|
||||
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
hw/xfree86/common/xf86AutoConfig.c | 4 ++++
|
||||
1 files changed, 4 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
|
||||
index 43c746b..d0eb0af 100644
|
||||
--- a/hw/xfree86/common/xf86AutoConfig.c
|
||||
+++ b/hw/xfree86/common/xf86AutoConfig.c
|
||||
@@ -270,6 +270,10 @@ listPossibleVideoDrivers(char *matches[], int nmatches)
|
||||
#endif
|
||||
}
|
||||
|
||||
+#if defined(__linux__)
|
||||
+ matches[i++] = xnfstrdup("modesetting");
|
||||
+#endif
|
||||
+
|
||||
#if !defined(sun)
|
||||
/* Fallback to platform default frame buffer driver */
|
||||
if (i < (nmatches - 1)) {
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,14 +1,15 @@
|
||||
From ed61aafc4e2b2856955528ba8142075ce53d6dd9 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Horák <dan@danny.cz>
|
||||
From cb26473121e35fed89050f1514bb37aa48b452ad Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
|
||||
Date: Fri, 15 Jun 2012 06:25:58 -0400
|
||||
Subject: [PATCH] build the touch test only when building Xorg
|
||||
|
||||
Signed-off-by: Fedora X Ninjas <x@fedoraproject.org>
|
||||
---
|
||||
test/Makefile.am | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test/Makefile.am b/test/Makefile.am
|
||||
index 32be00d..93a102a 100644
|
||||
index aa018c9..b323a40 100644
|
||||
--- a/test/Makefile.am
|
||||
+++ b/test/Makefile.am
|
||||
@@ -1,11 +1,11 @@
|
||||
@ -20,11 +21,11 @@ index 32be00d..93a102a 100644
|
||||
# Tests that require at least some DDX functions in order to fully link
|
||||
# For now, requires xf86 ddx, could be adjusted to use another
|
||||
SUBDIRS += xi2
|
||||
-noinst_PROGRAMS += xkb input xtest misc fixes xfree86
|
||||
+noinst_PROGRAMS += xkb input xtest misc fixes xfree86 touch
|
||||
-noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging
|
||||
+noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch
|
||||
endif
|
||||
check_LTLIBRARIES = libxservertest.la
|
||||
|
||||
--
|
||||
1.7.10.2
|
||||
1.7.10.4
|
||||
|
||||
|
@ -1,203 +0,0 @@
|
||||
From 247319fe3750671cd962df2c12548affb0351775 Mon Sep 17 00:00:00 2001
|
||||
From: Chase Douglas <chase.douglas@canonical.com>
|
||||
Date: Wed, 4 Apr 2012 15:29:42 -0700
|
||||
Subject: [PATCH 3/7] os: Add -displayfd option
|
||||
|
||||
This option specifies a file descriptor in the launching process. X
|
||||
will scan for an available display number and write that number back to
|
||||
the launching process, at the same time as SIGUSR1 generation. This
|
||||
means display managers don't need to guess at available display numbers.
|
||||
As a consequence, if X fails to start when using -displayfd, it's not
|
||||
because the display was in use, so there's no point in retrying the X
|
||||
launch on a higher display number.
|
||||
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
||||
Reviewed-by: Julien Cristau <jcristau@debian.org>
|
||||
Tested-by: Julien Cristau <jcristau@debian.org>
|
||||
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
dix/globals.c | 1 +
|
||||
include/opaque.h | 1 +
|
||||
man/Xserver.man | 7 ++++++
|
||||
os/connection.c | 68 ++++++++++++++++++++++++++++++++++++++----------------
|
||||
os/utils.c | 9 ++++++++
|
||||
5 files changed, 66 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dix/globals.c b/dix/globals.c
|
||||
index c0cae15..db113ca 100644
|
||||
--- a/dix/globals.c
|
||||
+++ b/dix/globals.c
|
||||
@@ -128,6 +128,7 @@ int defaultColorVisualClass = -1;
|
||||
int monitorResolution = 0;
|
||||
|
||||
char *display;
|
||||
+int displayfd;
|
||||
char *ConnectionInfo;
|
||||
|
||||
CARD32 TimeOutValue = DEFAULT_TIMEOUT * MILLI_PER_SECOND;
|
||||
diff --git a/include/opaque.h b/include/opaque.h
|
||||
index 9ca408a..b76ab6e 100644
|
||||
--- a/include/opaque.h
|
||||
+++ b/include/opaque.h
|
||||
@@ -50,6 +50,7 @@ extern _X_EXPORT int ScreenSaverAllowExposures;
|
||||
extern _X_EXPORT int defaultScreenSaverBlanking;
|
||||
extern _X_EXPORT int defaultScreenSaverAllowExposures;
|
||||
extern _X_EXPORT char *display;
|
||||
+extern _X_EXPORT int displayfd;
|
||||
|
||||
extern _X_EXPORT int defaultBackingStore;
|
||||
extern _X_EXPORT Bool disableBackingStore;
|
||||
diff --git a/man/Xserver.man b/man/Xserver.man
|
||||
index 0cd9b94..8d243d6 100644
|
||||
--- a/man/Xserver.man
|
||||
+++ b/man/Xserver.man
|
||||
@@ -127,6 +127,13 @@ Not obeyed by all servers.
|
||||
.B \-core
|
||||
causes the server to generate a core dump on fatal errors.
|
||||
.TP 8
|
||||
+.B \-displayfd \fIfd\fP
|
||||
+specifies a file descriptor in the launching process. Rather than specify
|
||||
+a display number, the X server will attempt to listen on successively higher
|
||||
+display numbers, and upon finding a free one, will write the port number back
|
||||
+on this file descriptor as a newline-terminated string. The \-pn option is
|
||||
+ignored when using \-displayfd.
|
||||
+.TP 8
|
||||
.B \-deferglyphs \fIwhichfonts\fP
|
||||
specifies the types of fonts for which the server should attempt to use
|
||||
deferred glyph loading. \fIwhichfonts\fP can be all (all fonts),
|
||||
diff --git a/os/connection.c b/os/connection.c
|
||||
index 1099752..039942f 100644
|
||||
--- a/os/connection.c
|
||||
+++ b/os/connection.c
|
||||
@@ -142,6 +142,7 @@ Bool AnyClientsWriteBlocked; /* true if some client blocked on write */
|
||||
static Bool RunFromSmartParent; /* send SIGUSR1 to parent process */
|
||||
Bool RunFromSigStopParent; /* send SIGSTOP to our own process; Upstart (or
|
||||
equivalent) will send SIGCONT back. */
|
||||
+static char dynamic_display[7]; /* display name */
|
||||
Bool PartialNetwork; /* continue even if unable to bind all addrs */
|
||||
static Pid_t ParentProcess;
|
||||
|
||||
@@ -350,6 +351,10 @@ void
|
||||
NotifyParentProcess(void)
|
||||
{
|
||||
#if !defined(WIN32)
|
||||
+ if (dynamic_display[0]) {
|
||||
+ write(displayfd, dynamic_display, strlen(dynamic_display));
|
||||
+ close(displayfd);
|
||||
+ }
|
||||
if (RunFromSmartParent) {
|
||||
if (ParentProcess > 1) {
|
||||
kill(ParentProcess, SIGUSR1);
|
||||
@@ -360,6 +365,18 @@ NotifyParentProcess(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
+static Bool
|
||||
+TryCreateSocket(int num, int *partial)
|
||||
+{
|
||||
+ char port[20];
|
||||
+
|
||||
+ snprintf(port, sizeof(port), "%d", num);
|
||||
+
|
||||
+ return (_XSERVTransMakeAllCOTSServerListeners(port, partial,
|
||||
+ &ListenTransCount,
|
||||
+ &ListenTransConns) >= 0);
|
||||
+}
|
||||
+
|
||||
/*****************
|
||||
* CreateWellKnownSockets
|
||||
* At initialization, create the sockets to listen on for new clients.
|
||||
@@ -370,7 +387,6 @@ CreateWellKnownSockets(void)
|
||||
{
|
||||
int i;
|
||||
int partial;
|
||||
- char port[20];
|
||||
|
||||
FD_ZERO(&AllSockets);
|
||||
FD_ZERO(&AllClients);
|
||||
@@ -386,29 +402,41 @@ CreateWellKnownSockets(void)
|
||||
|
||||
FD_ZERO(&WellKnownConnections);
|
||||
|
||||
- snprintf(port, sizeof(port), "%d", atoi(display));
|
||||
-
|
||||
- if ((_XSERVTransMakeAllCOTSServerListeners(port, &partial,
|
||||
- &ListenTransCount,
|
||||
- &ListenTransConns) >= 0) &&
|
||||
- (ListenTransCount >= 1)) {
|
||||
- if (!PartialNetwork && partial) {
|
||||
- FatalError("Failed to establish all listening sockets");
|
||||
+ /* display is initialized to "0" by main(). It is then set to the display
|
||||
+ * number if specified on the command line, or to NULL when the -displayfd
|
||||
+ * option is used. */
|
||||
+ if (display) {
|
||||
+ if (TryCreateSocket(atoi(display), &partial) &&
|
||||
+ ListenTransCount >= 1)
|
||||
+ if (!PartialNetwork && partial)
|
||||
+ FatalError ("Failed to establish all listening sockets");
|
||||
+ }
|
||||
+ else { /* -displayfd */
|
||||
+ Bool found = 0;
|
||||
+ for (i = 0; i < 65535 - X_TCP_PORT; i++) {
|
||||
+ if (TryCreateSocket(i, &partial) && !partial) {
|
||||
+ found = 1;
|
||||
+ break;
|
||||
+ }
|
||||
+ else
|
||||
+ CloseWellKnownConnections();
|
||||
}
|
||||
- else {
|
||||
- ListenTransFds = malloc(ListenTransCount * sizeof(int));
|
||||
+ if (!found)
|
||||
+ FatalError("Failed to find a socket to listen on");
|
||||
+ snprintf(dynamic_display, sizeof(dynamic_display), "%d", i);
|
||||
+ display = dynamic_display;
|
||||
+ }
|
||||
|
||||
- for (i = 0; i < ListenTransCount; i++) {
|
||||
- int fd = _XSERVTransGetConnectionNumber(ListenTransConns[i]);
|
||||
+ ListenTransFds = malloc(ListenTransCount * sizeof (int));
|
||||
|
||||
- ListenTransFds[i] = fd;
|
||||
- FD_SET(fd, &WellKnownConnections);
|
||||
+ for (i = 0; i < ListenTransCount; i++) {
|
||||
+ int fd = _XSERVTransGetConnectionNumber(ListenTransConns[i]);
|
||||
|
||||
- if (!_XSERVTransIsLocal(ListenTransConns[i])) {
|
||||
- DefineSelf(fd);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ ListenTransFds[i] = fd;
|
||||
+ FD_SET(fd, &WellKnownConnections);
|
||||
+
|
||||
+ if (!_XSERVTransIsLocal(ListenTransConns[i]))
|
||||
+ DefineSelf (fd);
|
||||
}
|
||||
|
||||
if (!XFD_ANYSET(&WellKnownConnections))
|
||||
diff --git a/os/utils.c b/os/utils.c
|
||||
index 30592d2..3a1ef93 100644
|
||||
--- a/os/utils.c
|
||||
+++ b/os/utils.c
|
||||
@@ -659,6 +659,15 @@ ProcessCommandLine(int argc, char *argv[])
|
||||
else
|
||||
UseMsg();
|
||||
}
|
||||
+ else if (strcmp(argv[i], "-displayfd") == 0) {
|
||||
+ if (++i < argc) {
|
||||
+ displayfd = atoi(argv[i]);
|
||||
+ display = NULL;
|
||||
+ nolock = TRUE;
|
||||
+ }
|
||||
+ else
|
||||
+ UseMsg();
|
||||
+ }
|
||||
#ifdef DPMSExtension
|
||||
else if (strcmp(argv[i], "dpms") == 0)
|
||||
/* ignored for compatibility */ ;
|
||||
--
|
||||
1.7.10.1
|
||||
|
@ -1,143 +0,0 @@
|
||||
From 39f73e813f7d404498629f6104a9003d092af28d Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Tue, 8 May 2012 13:01:12 +0100
|
||||
Subject: [PATCH] xf86/pci: fix slot claiming counting.
|
||||
|
||||
Currently if we claim a slot for a PCI driver, we never let it go properly,
|
||||
this prevents the fallback probe from reusing the slot, even though it
|
||||
isn't claimed for that pci slot.
|
||||
|
||||
So if you set the modesetting driver to point at a specific kms device,
|
||||
that isn't a PCI device (i.e. USB dongle), then the modesetting driver
|
||||
loads, the pci probe tries to bind the config slot to the primary PCI
|
||||
device, however we then check the kms device bus id to discover it
|
||||
isn't valid. However we don't remove the claim on the slot. Next the
|
||||
old probe function is called and there is no slots to claim.
|
||||
|
||||
This patch fixes that and converts the pciSlotClaimed boolean into
|
||||
a counter, and changes the unclaim api to take a device pointer
|
||||
to remove from the entity.
|
||||
|
||||
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
hw/xfree86/common/xf86.h | 4 ++--
|
||||
hw/xfree86/common/xf86Bus.c | 20 ++++++++++++++++++++
|
||||
hw/xfree86/common/xf86Priv.h | 1 +
|
||||
hw/xfree86/common/xf86pciBus.c | 10 ++++++----
|
||||
4 files changed, 29 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
|
||||
index fc4c34e..e6d41d6 100644
|
||||
--- a/hw/xfree86/common/xf86.h
|
||||
+++ b/hw/xfree86/common/xf86.h
|
||||
@@ -97,12 +97,12 @@ extern _X_EXPORT Bool VTSwitchEnabled; /* kbd driver */
|
||||
/* PCI related */
|
||||
#ifdef XSERVER_LIBPCIACCESS
|
||||
#include <pciaccess.h>
|
||||
-extern _X_EXPORT Bool pciSlotClaimed;
|
||||
+extern _X_EXPORT int pciSlotClaimed;
|
||||
|
||||
extern _X_EXPORT Bool xf86CheckPciSlot(const struct pci_device *);
|
||||
extern _X_EXPORT int xf86ClaimPciSlot(struct pci_device *, DriverPtr drvp,
|
||||
int chipset, GDevPtr dev, Bool active);
|
||||
-extern _X_EXPORT void xf86UnclaimPciSlot(struct pci_device *);
|
||||
+extern _X_EXPORT void xf86UnclaimPciSlot(struct pci_device *, GDevPtr dev);
|
||||
extern _X_EXPORT Bool xf86ParsePciBusString(const char *busID, int *bus,
|
||||
int *device, int *func);
|
||||
extern _X_EXPORT Bool xf86ComparePciBusString(const char *busID, int bus,
|
||||
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
|
||||
index b176e8c..b876434 100644
|
||||
--- a/hw/xfree86/common/xf86Bus.c
|
||||
+++ b/hw/xfree86/common/xf86Bus.c
|
||||
@@ -420,6 +420,26 @@ xf86AddDevToEntity(int entityIndex, GDevPtr dev)
|
||||
dev->claimed = TRUE;
|
||||
}
|
||||
|
||||
+
|
||||
+void
|
||||
+xf86RemoveDevFromEntity(int entityIndex, GDevPtr dev)
|
||||
+{
|
||||
+ EntityPtr pEnt;
|
||||
+ int i, j;
|
||||
+ if (entityIndex >= xf86NumEntities)
|
||||
+ return;
|
||||
+
|
||||
+ pEnt = xf86Entities[entityIndex];
|
||||
+ for (i = 0; i < pEnt->numInstances; i++) {
|
||||
+ if (pEnt->devices[i] == dev) {
|
||||
+ for (j = i; j < pEnt->numInstances - 1; j++)
|
||||
+ pEnt->devices[j] = pEnt->devices[j + 1];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ pEnt->numInstances--;
|
||||
+ dev->claimed = FALSE;
|
||||
+}
|
||||
/*
|
||||
* xf86GetEntityInfo() -- This function hands information from the
|
||||
* EntityRec struct to the drivers. The EntityRec structure itself
|
||||
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
|
||||
index 8d9cb55..6c5efea 100644
|
||||
--- a/hw/xfree86/common/xf86Priv.h
|
||||
+++ b/hw/xfree86/common/xf86Priv.h
|
||||
@@ -116,6 +116,7 @@ extern _X_EXPORT void xf86AccessLeave(void);
|
||||
extern _X_EXPORT void xf86PostProbe(void);
|
||||
extern _X_EXPORT void xf86ClearEntityListForScreen(int scrnIndex);
|
||||
extern _X_EXPORT void xf86AddDevToEntity(int entityIndex, GDevPtr dev);
|
||||
+extern _X_EXPORT void xf86RemoveDevFromEntity(int entityIndex, GDevPtr dev);
|
||||
|
||||
/* xf86Config.c */
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
|
||||
index e52f1da..d758260 100644
|
||||
--- a/hw/xfree86/common/xf86pciBus.c
|
||||
+++ b/hw/xfree86/common/xf86pciBus.c
|
||||
@@ -52,7 +52,7 @@
|
||||
#define PCI_VENDOR_GENERIC 0x00FF
|
||||
|
||||
/* Bus-specific globals */
|
||||
-Bool pciSlotClaimed = FALSE;
|
||||
+int pciSlotClaimed = 0;
|
||||
|
||||
#define PCIINFOCLASSES(c) \
|
||||
( (((c) & 0x00ff0000) == (PCI_CLASS_PREHISTORIC << 16)) \
|
||||
@@ -223,7 +223,7 @@ xf86ClaimPciSlot(struct pci_device *d, DriverPtr drvp,
|
||||
p->inUse = FALSE;
|
||||
if (dev)
|
||||
xf86AddDevToEntity(num, dev);
|
||||
- pciSlotClaimed = TRUE;
|
||||
+ pciSlotClaimed++;
|
||||
|
||||
return num;
|
||||
}
|
||||
@@ -235,7 +235,7 @@ xf86ClaimPciSlot(struct pci_device *d, DriverPtr drvp,
|
||||
* Unclaim PCI slot, e.g. if probing failed, so that a different driver can claim.
|
||||
*/
|
||||
void
|
||||
-xf86UnclaimPciSlot(struct pci_device *d)
|
||||
+xf86UnclaimPciSlot(struct pci_device *d, GDevPtr dev)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -244,6 +244,8 @@ xf86UnclaimPciSlot(struct pci_device *d)
|
||||
|
||||
if ((p->bus.type == BUS_PCI) && (p->bus.id.pci == d)) {
|
||||
/* Probably the slot should be deallocated? */
|
||||
+ xf86RemoveDevFromEntity(i, dev);
|
||||
+ pciSlotClaimed--;
|
||||
p->bus.type = BUS_NONE;
|
||||
return;
|
||||
}
|
||||
@@ -537,7 +539,7 @@ xf86PciProbeDev(DriverPtr drvp)
|
||||
foundScreen = TRUE;
|
||||
}
|
||||
else
|
||||
- xf86UnclaimPciSlot(pPci);
|
||||
+ xf86UnclaimPciSlot(pPci, devList[i]);
|
||||
}
|
||||
|
||||
break;
|
||||
--
|
||||
1.7.7.6
|
||||
|
Loading…
Reference in New Issue
Block a user