aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2007-09-06 03:50:30 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-09-07 12:44:35 -0400
commit5511142870046a7bed947d51ec9b320856ee120a (patch)
tree288105167ab620dddca35e35b20a4c94431387ca /drivers/firewire
parentb21010ed6498391c0f359f2a89c907533fe07fec (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>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/fw-ohci.c6
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}