PCI/MSI: Simplify msi_verify_entries()
authorThomas Gleixner <tglx@linutronix.de>
Thu, 29 Jul 2021 21:51:52 +0000 (23:51 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 10 Aug 2021 09:03:29 +0000 (11:03 +0200)
No point in looping over all entries when 64bit addressing mode is enabled
for nothing.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20210729222542.992849326@linutronix.de
drivers/pci/msi.c

index 95e6ce4..b59957c 100644 (file)
@@ -613,8 +613,11 @@ static int msi_verify_entries(struct pci_dev *dev)
 {
        struct msi_desc *entry;
 
+       if (!dev->no_64bit_msi)
+               return 0;
+
        for_each_pci_msi_entry(entry, dev) {
-               if (entry->msg.address_hi && dev->no_64bit_msi) {
+               if (entry->msg.address_hi) {
                        pci_err(dev, "arch assigned 64-bit MSI address %#x%08x but device only supports 32 bits\n",
                                entry->msg.address_hi, entry->msg.address_lo);
                        return -EIO;