linux-stable/drivers/pci/msi
Thomas Gleixner d2a463b297 PCI/MSI: Reject multi-MSI early
When hierarchical MSI interrupt domains are enabled then there is no point
to do tons of work and detect the missing support for multi-MSI late in the
allocation path.

Just query the domain feature flags right away. The query function is going
to be used for other purposes later and has a mode argument which influences
the result:

  ALLOW_LEGACY returns true when:
     - there is no irq domain attached (legacy support)
     - there is a irq domain attached which has the feature flag set

  DENY_LEGACY returns only true when:
     - there is a irq domain attached which has the feature flag set

This allows to use the function universally without ifdeffery in the
calling code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20221111122015.574339988@linutronix.de
2022-11-17 15:15:22 +01:00
..
api.c PCI/MSI: Move pci_msi_restore_state() to api.c 2022-11-17 15:15:21 +01:00
irqdomain.c PCI/MSI: Reject multi-MSI early 2022-11-17 15:15:22 +01:00
legacy.c PCI/MSI: Prevent UAF in error path 2022-01-21 02:14:46 +01:00
Makefile PCI/MSI: Move pci_disable_msi() to api.c 2022-11-17 15:15:20 +01:00
msi.c PCI/MSI: Reject multi-MSI early 2022-11-17 15:15:22 +01:00
msi.h PCI/MSI: Reject multi-MSI early 2022-11-17 15:15:22 +01:00
pcidev_msi.c