diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2009-06-14 05:46:46 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-18 03:29:10 -0400 |
commit | 6905b1f1a03a48dcf115a2927f7b87dba8d5e566 (patch) | |
tree | ef1a52ca05bf55e5b1e55bd3502b1f7295ac9bf1 /drivers/net/e100.c | |
parent | ab0a8e6c663047363e7436621b66c2ae575d2525 (diff) |
Net / e100: Fix suspend of devices that cannot be power managed
If the adapter is not power-manageable using either ACPI, or the
native PCI PM interface, __e100_power_off() returns error code, which
causes every attempt to suspend to fail, although it should return 0
in such a case. Fix this problem by ignoring the return value of
pci_set_power_state() in __e100_power_off().
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e100.c')
-rw-r--r-- | drivers/net/e100.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/e100.c b/drivers/net/e100.c index f7929e89eb03..efa680f4b8dd 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c | |||
@@ -2895,12 +2895,13 @@ static void __e100_shutdown(struct pci_dev *pdev, bool *enable_wake) | |||
2895 | 2895 | ||
2896 | static int __e100_power_off(struct pci_dev *pdev, bool wake) | 2896 | static int __e100_power_off(struct pci_dev *pdev, bool wake) |
2897 | { | 2897 | { |
2898 | if (wake) { | 2898 | if (wake) |
2899 | return pci_prepare_to_sleep(pdev); | 2899 | return pci_prepare_to_sleep(pdev); |
2900 | } else { | 2900 | |
2901 | pci_wake_from_d3(pdev, false); | 2901 | pci_wake_from_d3(pdev, false); |
2902 | return pci_set_power_state(pdev, PCI_D3hot); | 2902 | pci_set_power_state(pdev, PCI_D3hot); |
2903 | } | 2903 | |
2904 | return 0; | ||
2904 | } | 2905 | } |
2905 | 2906 | ||
2906 | #ifdef CONFIG_PM | 2907 | #ifdef CONFIG_PM |