]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
PCI/MSI: Remove bogus warning in pci_irq_get_affinity()
authorThomas Gleixner <tglx@linutronix.de>
Mon, 31 Jan 2022 21:02:46 +0000 (22:02 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 4 Feb 2022 08:54:20 +0000 (09:54 +0100)
The recent overhaul of pci_irq_get_affinity() introduced a regression when
pci_irq_get_affinity() is called for an MSI-X interrupt which was not
allocated with affinity descriptor information.

The original code just returned a NULL pointer in that case, but the rework
added a WARN_ON() under the assumption that the corresponding WARN_ON() in
the MSI case can be applied to MSI-X as well.

In fact the MSI warning in the original code does not make sense either
because it's legitimate to invoke pci_irq_get_affinity() for a MSI
interrupt which was not allocated with affinity descriptor information.

Remove it and just return NULL as the original code did.

Fixes: f48235900182 ("PCI/MSI: Simplify pci_irq_get_affinity()")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/87ee4n38sm.ffs@tglx
drivers/pci/msi/msi.c

index c19c7ca581868a366289932163621ad8ae794c34..9037a7827eca75918a6376bc0ab38e3905fa7fe2 100644 (file)
@@ -1111,7 +1111,8 @@ const struct cpumask *pci_irq_get_affinity(struct pci_dev *dev, int nr)
        if (!desc)
                return cpu_possible_mask;
 
-       if (WARN_ON_ONCE(!desc->affinity))
+       /* MSI[X] interrupts can be allocated without affinity descriptor */
+       if (!desc->affinity)
                return NULL;
 
        /*