810-pci_disable_common_quirks.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --- a/drivers/pci/Kconfig
  2. +++ b/drivers/pci/Kconfig
  3. @@ -51,6 +51,12 @@ config XEN_PCIDEV_FRONTEND
  4. The PCI device frontend driver allows the kernel to import arbitrary
  5. PCI devices from a PCI backend to support PCI driver domains.
  6. +config PCI_DISABLE_COMMON_QUIRKS
  7. + bool "PCI disable common quirks"
  8. + depends on PCI
  9. + help
  10. + If you don't know what to do here, say N.
  11. +
  12. config HT_IRQ
  13. bool "Interrupts on hypertransport devices"
  14. default y
  15. --- a/drivers/pci/quirks.c
  16. +++ b/drivers/pci/quirks.c
  17. @@ -105,6 +105,7 @@ static void __devinit quirk_mmio_always_
  18. }
  19. DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on);
  20. +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
  21. /* The Mellanox Tavor device gives false positive parity errors
  22. * Mark this device with a broken_parity_status, to allow
  23. * PCI scanning code to "skip" this now blacklisted device.
  24. @@ -1990,7 +1991,9 @@ static void __devinit fixup_rev1_53c810(
  25. }
  26. }
  27. DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
  28. +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */
  29. +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
  30. /* Enable 1k I/O space granularity on the Intel P64H2 */
  31. static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
  32. {
  33. @@ -2666,6 +2669,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT
  34. quirk_msi_intx_disable_bug);
  35. #endif /* CONFIG_PCI_MSI */
  36. +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */
  37. /* Allow manual resource allocation for PCI hotplug bridges
  38. * via pci=hpmemsize=nnM and pci=hpiosize=nnM parameters. For