x86/apic/msi: Use PCI device MSI property
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:18:47 +0000 (23:18 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:37 +0000 (22:16 +0100)
instead of fiddling with MSI descriptors.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Michael Kelley <mikelley@microsoft.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211210221813.372357371@linutronix.de
arch/x86/kernel/apic/msi.c

index b270b70f41c622c10046a12cc3651c3c113fea3e..7517eb05bdc1a22c999b4598bd0f228113259ad8 100644 (file)
@@ -160,11 +160,8 @@ static struct irq_chip pci_msi_controller = {
 int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
                    msi_alloc_info_t *arg)
 {
-       struct pci_dev *pdev = to_pci_dev(dev);
-       struct msi_desc *desc = first_pci_msi_entry(pdev);
-
        init_irq_alloc_info(arg, NULL);
-       if (desc->pci.msi_attrib.is_msix) {
+       if (to_pci_dev(dev)->msix_enabled) {
                arg->type = X86_IRQ_ALLOC_TYPE_PCI_MSIX;
        } else {
                arg->type = X86_IRQ_ALLOC_TYPE_PCI_MSI;