diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-09-06 03:50:30 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-09-07 12:44:35 -0400 |
commit | 5511142870046a7bed947d51ec9b320856ee120a (patch) | |
tree | 288105167ab620dddca35e35b20a4c94431387ca | |
parent | b21010ed6498391c0f359f2a89c907533fe07fec (diff) |
firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression)
Fixes (papers over) "Sleep problems with kernels >= 2.6.21 on powerpc",
http://lkml.org/lkml/2007/8/25/155. The issue is that the FireWire
controller's pci_dev.current_state of iBook G3 and presumably older
PowerBooks is still in PCI_UNKNOWN instead of PCI_D0 when the firewire
driver's .suspend method is called.
Like it was suggested earlier in http://lkml.org/lkml/2006/10/24/13, we
do not fail .suspend anymore if pci_set_power_state failed.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r-- | drivers/firewire/fw-ohci.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index 7e427b4c74b5..e14c1ca7813e 100644 --- a/drivers/firewire/fw-ohci.c +++ b/drivers/firewire/fw-ohci.c | |||
@@ -1945,10 +1945,8 @@ static int pci_suspend(struct pci_dev *pdev, pm_message_t state) | |||
1945 | return err; | 1945 | return err; |
1946 | } | 1946 | } |
1947 | err = pci_set_power_state(pdev, pci_choose_state(pdev, state)); | 1947 | err = pci_set_power_state(pdev, pci_choose_state(pdev, state)); |
1948 | if (err) { | 1948 | if (err) |
1949 | fw_error("pci_set_power_state failed\n"); | 1949 | fw_error("pci_set_power_state failed with %d\n", err); |
1950 | return err; | ||
1951 | } | ||
1952 | 1950 | ||
1953 | return 0; | 1951 | return 0; |
1954 | } | 1952 | } |