PCI: pci_set_power_state(): check for PM capabilities earlier
Check for PCI_CAP_ID_PM before checking the device state. Apparently fixes some log spam via the 3c59x driver. Signed-off-by: Andrew Lunn <andrew.lunn@ascom.ch> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0bec2c85bb
commit
cca03dec2f
@ -406,6 +406,13 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state)
|
|||||||
if ((state == PCI_D1 || state == PCI_D2) && pci_no_d1d2(dev))
|
if ((state == PCI_D1 || state == PCI_D2) && pci_no_d1d2(dev))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* find PCI PM capability in list */
|
||||||
|
pm = pci_find_capability(dev, PCI_CAP_ID_PM);
|
||||||
|
|
||||||
|
/* abort if the device doesn't support PM capabilities */
|
||||||
|
if (!pm)
|
||||||
|
return -EIO;
|
||||||
|
|
||||||
/* Validate current state:
|
/* Validate current state:
|
||||||
* Can enter D0 from any state, but if we can only go deeper
|
* Can enter D0 from any state, but if we can only go deeper
|
||||||
* to sleep if we're already in a low power state
|
* to sleep if we're already in a low power state
|
||||||
@ -418,13 +425,6 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state)
|
|||||||
return 0; /* we're already there */
|
return 0; /* we're already there */
|
||||||
|
|
||||||
|
|
||||||
/* find PCI PM capability in list */
|
|
||||||
pm = pci_find_capability(dev, PCI_CAP_ID_PM);
|
|
||||||
|
|
||||||
/* abort if the device doesn't support PM capabilities */
|
|
||||||
if (!pm)
|
|
||||||
return -EIO;
|
|
||||||
|
|
||||||
pci_read_config_word(dev,pm + PCI_PM_PMC,&pmc);
|
pci_read_config_word(dev,pm + PCI_PM_PMC,&pmc);
|
||||||
if ((pmc & PCI_PM_CAP_VER_MASK) > 3) {
|
if ((pmc & PCI_PM_CAP_VER_MASK) > 3) {
|
||||||
printk(KERN_DEBUG
|
printk(KERN_DEBUG
|
||||||
|
Loading…
Reference in New Issue
Block a user