Skip to content

Commit

Permalink
Net / e100: Fix suspend of devices that cannot be power managed
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Rafael J. Wysocki authored and David S. Miller committed Jun 18, 2009
1 parent ab0a8e6 commit 6905b1f
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/net/e100.c
Original file line number Diff line number Diff line change
Expand Up @@ -2895,12 +2895,13 @@ static void __e100_shutdown(struct pci_dev *pdev, bool *enable_wake)

static int __e100_power_off(struct pci_dev *pdev, bool wake)
{
if (wake) {
if (wake)
return pci_prepare_to_sleep(pdev);
} else {
pci_wake_from_d3(pdev, false);
return pci_set_power_state(pdev, PCI_D3hot);
}

pci_wake_from_d3(pdev, false);
pci_set_power_state(pdev, PCI_D3hot);

return 0;
}

#ifdef CONFIG_PM
Expand Down

0 comments on commit 6905b1f

Please sign in to comment.