{
struct pci_dev *dev;
u16 features = PCI_COMMAND_SERR | PCI_COMMAND_PARITY | PCI_COMMAND_FAST_BACK;
+ bool has_pcie_dev = 0;
/*
* Walk the devices on this bus, working out what we can
list_for_each_entry(dev, &bus->devices, bus_list) {
u16 status;
+ if (!has_pcie_dev)
+ has_pcie_dev = pci_is_pcie(dev);
pci_read_config_word(dev, PCI_STATUS, &status);
/*
/*
* Report what we did for this bus
+ * (only if the bus doesn't have even one PCIe device)
*/
- printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n",
- bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
+ if (!has_pcie_dev)
+ pr_info("PCI: bus%d: Fast back to back transfers %sabled\n",
+ bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
}
EXPORT_SYMBOL(pcibios_fixup_bus);
{
struct pci_dev *dev;
u16 features = PCI_COMMAND_SERR | PCI_COMMAND_PARITY | PCI_COMMAND_FAST_BACK;
+ bool has_pcie_dev = 0;
/*
* Walk the devices on this bus, working out what we can
list_for_each_entry(dev, &bus->devices, bus_list) {
u16 status;
+ if (!has_pcie_dev)
+ has_pcie_dev = pci_is_pcie(dev);
pci_read_config_word(dev, PCI_STATUS, &status);
/*
/*
* Report what we did for this bus
+ * (only if the bus doesn't have even one PCIe device)
*/
- printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n",
- bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
+ if (!has_pcie_dev)
+ pr_info("PCI: bus%d: Fast back to back transfers %sabled\n",
+ bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
}
EXPORT_SYMBOL(pcibios_fixup_bus);