OSDN Git Service

PCI/MSI: Move power state check out of pci_msi_supported()
authorBjorn Helgaas <bhelgaas@google.com>
Mon, 14 Oct 2019 21:17:05 +0000 (16:17 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 26 Nov 2019 19:10:28 +0000 (13:10 -0600)
27e20603c54b ("PCI/MSI: Move D0 check into pci_msi_check_device()")
moved the power state check into pci_msi_check_device(), which was
subsequently renamed to pci_msi_supported().  This didn't change the
behavior, since both callers checked the power state.

However, it doesn't fit the current "pci_msi_supported()" name, which
should return what the device is capable of, independent of the power
state.

Move the power state check back into the callers for readability.  No
functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/pci/msi.c

index f95fe23..fa90f08 100644 (file)
@@ -861,7 +861,7 @@ static int pci_msi_supported(struct pci_dev *dev, int nvec)
        if (!pci_msi_enable)
                return 0;
 
-       if (!dev || dev->no_msi || dev->current_state != PCI_D0)
+       if (!dev || dev->no_msi)
                return 0;
 
        /*
@@ -972,7 +972,7 @@ static int __pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries,
        int nr_entries;
        int i, j;
 
-       if (!pci_msi_supported(dev, nvec))
+       if (!pci_msi_supported(dev, nvec) || dev->current_state != PCI_D0)
                return -EINVAL;
 
        nr_entries = pci_msix_vec_count(dev);
@@ -1058,7 +1058,7 @@ static int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
        int nvec;
        int rc;
 
-       if (!pci_msi_supported(dev, minvec))
+       if (!pci_msi_supported(dev, minvec) || dev->current_state != PCI_D0)
                return -EINVAL;
 
        /* Check whether driver already requested MSI-X IRQs */