Skip to content

Commit 82ff8e6

Browse files
committed
PCI/MSI: Use msi_get_virq() in pci_get_vector()
Use msi_get_vector() and handle the return value to be compatible. No functional change intended. Signed-off-by: Thomas Gleixner <[email protected]> Tested-by: Michael Kelley <[email protected]> Tested-by: Nishanth Menon <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Jason Gunthorpe <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent cf15f43 commit 82ff8e6

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

drivers/pci/msi/msi.c

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,28 +1080,13 @@ EXPORT_SYMBOL(pci_free_irq_vectors);
10801080
*/
10811081
int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
10821082
{
1083-
if (dev->msix_enabled) {
1084-
struct msi_desc *entry;
1085-
1086-
for_each_pci_msi_entry(entry, dev) {
1087-
if (entry->msi_index == nr)
1088-
return entry->irq;
1089-
}
1090-
WARN_ON_ONCE(1);
1091-
return -EINVAL;
1092-
}
1083+
unsigned int irq;
10931084

1094-
if (dev->msi_enabled) {
1095-
struct msi_desc *entry = first_pci_msi_entry(dev);
1096-
1097-
if (WARN_ON_ONCE(nr >= entry->nvec_used))
1098-
return -EINVAL;
1099-
} else {
1100-
if (WARN_ON_ONCE(nr > 0))
1101-
return -EINVAL;
1102-
}
1085+
if (!dev->msi_enabled && !dev->msix_enabled)
1086+
return !nr ? dev->irq : -EINVAL;
11031087

1104-
return dev->irq + nr;
1088+
irq = msi_get_virq(&dev->dev, nr);
1089+
return irq ? irq : -EINVAL;
11051090
}
11061091
EXPORT_SYMBOL(pci_irq_vector);
11071092

0 commit comments

Comments
 (0)