Re: [PATCH] ARM: fix debug prints relevant to PCI devices

From: Stephen Warren
Date: Wed Jun 04 2014 - 15:29:22 EST


On 06/04/2014 01:17 PM, Vidya Sagar wrote:
> As per PCIe spec, fast back-to-back transactions feature
> is not applicable to PCIe devices. Hence, do not print
> that fast back-to-back trasactions are disabled when
> there is a PCIe device found on the bus

> @@ -298,6 +299,8 @@ void pcibios_fixup_bus(struct pci_bus *bus)
> list_for_each_entry(dev, &bus->devices, bus_list) {
> u16 status;
>
> + if (!has_pcie_dev)
> + has_pcie_dev = pci_pcie_cap(dev);

This sets the flag if any PCIe device is detected, even if regular PCI
devices are also detected. I assume the two can be mixed on a bus if
there's a bridge (although perhaps that would be separate buses, and
child buses don't get traversed by this function?)

> /*
> * 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)
> + printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n",
> + bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");

So, this skips printing the message if any PCIe device was found.

Given that the message is relevant to PCI devices, more than being not
relevant to PCIe devices, perhaps the logic should be inverted, so that
the message is only printed if a PCI/non-PCIe device /is/ found, i.e.:

...
has_pci_device |= !pci_pcie_cap(dev);
...
if (has_pci_device)
printk(...);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/