diff options
author | Pavel Machek <pavel@ucw.cz> | 2007-01-16 06:17:13 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-02-07 18:50:06 -0500 |
commit | e36c455c2f5fee08fed395e94c7ab156cd159360 (patch) | |
tree | cfe0e29851b49893083108601bbee4ca9d38dc9e /drivers/pci | |
parent | c54c18790700b8b2a503945d729aa425c25691fe (diff) |
PCI: power management: remove noise on non-manageable hw
Return early from pci_set_power_state() if hardware does not support
power management. This way, we do not generate noise in the logs.
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index e91dcc05b790..7ae709024456 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -392,6 +392,14 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state) | |||
392 | if (state > PCI_D3hot) | 392 | if (state > PCI_D3hot) |
393 | state = PCI_D3hot; | 393 | state = PCI_D3hot; |
394 | 394 | ||
395 | /* | ||
396 | * If the device or the parent bridge can't support PCI PM, ignore | ||
397 | * the request if we're doing anything besides putting it into D0 | ||
398 | * (which would only happen on boot). | ||
399 | */ | ||
400 | if ((state == PCI_D1 || state == PCI_D2) && pci_no_d1d2(dev)) | ||
401 | return 0; | ||
402 | |||
395 | /* Validate current state: | 403 | /* Validate current state: |
396 | * Can enter D0 from any state, but if we can only go deeper | 404 | * Can enter D0 from any state, but if we can only go deeper |
397 | * to sleep if we're already in a low power state | 405 | * to sleep if we're already in a low power state |
@@ -403,13 +411,6 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state) | |||
403 | } else if (dev->current_state == state) | 411 | } else if (dev->current_state == state) |
404 | return 0; /* we're already there */ | 412 | return 0; /* we're already there */ |
405 | 413 | ||
406 | /* | ||
407 | * If the device or the parent bridge can't support PCI PM, ignore | ||
408 | * the request if we're doing anything besides putting it into D0 | ||
409 | * (which would only happen on boot). | ||
410 | */ | ||
411 | if ((state == PCI_D1 || state == PCI_D2) && pci_no_d1d2(dev)) | ||
412 | return 0; | ||
413 | 414 | ||
414 | /* find PCI PM capability in list */ | 415 | /* find PCI PM capability in list */ |
415 | pm = pci_find_capability(dev, PCI_CAP_ID_PM); | 416 | pm = pci_find_capability(dev, PCI_CAP_ID_PM); |