aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/packages/rpm/sle11/SOURCES/bug474071-fix1.diff
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/packages/rpm/sle11/SOURCES/bug474071-fix1.diff')
-rw-r--r--contrib/packages/rpm/sle11/SOURCES/bug474071-fix1.diff35
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/packages/rpm/sle11/SOURCES/bug474071-fix1.diff b/contrib/packages/rpm/sle11/SOURCES/bug474071-fix1.diff
new file mode 100644
index 00000000..889cbe6d
--- /dev/null
+++ b/contrib/packages/rpm/sle11/SOURCES/bug474071-fix1.diff
@@ -0,0 +1,35 @@
+Index: linuxPci.c
+================================================================================
+--- linuxPci.c
++++ linuxPci.c
+@@ -195,7 +195,7 @@
+ struct pci_id_match bridge_match = {
+ PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
+ (PCI_CLASS_BRIDGE << 16) | (PCI_SUBCLASS_BRIDGE_PCI << 8),
+- 0
++ (PCI_CLASS_BRIDGE << 16) | (PCI_SUBCLASS_BRIDGE_PCI << 8)
+ };
+ struct pci_device *bridge;
+ struct pci_device_iterator *iter;
+@@ -433,7 +433,6 @@
+ xf86MapLegacyIO(struct pci_device *dev)
+ {
+ const int domain = dev->domain;
+- struct pci_device *bridge = get_parent_bridge(dev);
+ int fd;
+
+ if (domain >= MAX_DOMAINS)
+@@ -441,9 +440,11 @@
+
+ if (DomainMmappedIO[domain] == NULL) {
+ /* Permanently map all of I/O space */
+- fd = linuxOpenLegacy(bridge, "legacy_io");
++ fd = linuxOpenLegacy(dev, "legacy_io");
+ if (fd < 0) {
+- DomainMmappedIO[domain] = linuxMapPci(-1, VIDMEM_MMIO, bridge,
++ struct pci_device *bridge = get_parent_bridge(dev);
++ if (bridge != NULL)
++ DomainMmappedIO[domain] = linuxMapPci(-1, VIDMEM_MMIO, bridge,
+ 0, linuxGetIOSize(bridge),
+ PCIIOC_MMAP_IS_IO);
+ }