On Mon, Nov 02 2020 at 17:16, Thomas Gleixner wrote:
On Mon, Nov 02 2020 at 11:30, Marc Zyngier wrote:
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -871,6 +871,8 @@ static void pci_set_bus_msi_domain(struct pci_bus
*bus)
d = pci_host_bridge_msi_domain(b);
dev_set_msi_domain(&bus->dev, d);
+ if (!d)
+ bus->bus_flags |= PCI_BUS_FLAGS_NO_MSI;
Hrm, that might break legacy setups (no irqdomain support). I'd rather
prefer to explicitly tell the pci core at host registration time.
s/might break/ breaks / Just validated :)
So we really need some other solution and removing the warning is not an
option. If MSI is enabled then we want to get a warning when a PCI
device has no MSI domain associated. Explicitly expressing the PCIE
brigde misfeature of not supporting MSI is way better than silently
returning an error code which is swallowed anyway.
Whatever the preferred way is via flags at host probe time or flagging
it post probe I don't care much as long as it is consistent.