openwrt/target/linux/generic/patches-2.6.38/030-pci_disable_common_quir...

48 lines
1.8 KiB
Diff

Index: linux-2.6.38.1/drivers/pci/Kconfig
===================================================================
--- linux-2.6.38.1.orig/drivers/pci/Kconfig 2011-03-23 21:04:47.000000000 +0100
+++ linux-2.6.38.1/drivers/pci/Kconfig 2011-03-28 16:48:00.052118712 +0200
@@ -62,6 +62,12 @@ config XEN_PCIDEV_FE_DEBUG
When in doubt, say N.
+config PCI_DISABLE_COMMON_QUIRKS
+ bool "PCI disable common quirks"
+ depends on PCI
+ help
+ If you don't know what to do here, say N.
+
config HT_IRQ
bool "Interrupts on hypertransport devices"
default y
Index: linux-2.6.38.1/drivers/pci/quirks.c
===================================================================
--- linux-2.6.38.1.orig/drivers/pci/quirks.c 2011-03-23 21:04:47.000000000 +0100
+++ linux-2.6.38.1/drivers/pci/quirks.c 2011-03-28 16:48:13.130041612 +0200
@@ -104,6 +104,7 @@ static void __devinit quirk_mmio_always_
}
DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on);
+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
@@ -1989,7 +1990,9 @@ static void __devinit fixup_rev1_53c810(
}
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */
+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
/* Enable 1k I/O space granularity on the Intel P64H2 */
static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
{
@@ -2662,6 +2665,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT
quirk_msi_intx_disable_bug);
#endif /* CONFIG_PCI_MSI */
+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */
/* Allow manual resource allocation for PCI hotplug bridges
* via pci=hpmemsize=nnM and pci=hpiosize=nnM parameters. For