firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression)
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 6 Sep 2007 07:50:30 +0000 (09:50 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Fri, 7 Sep 2007 16:44:35 +0000 (18:44 +0200)
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>
drivers/firewire/fw-ohci.c

index 7e427b4c74b5fe0ea5a8c87e9250a4c0b576fe95..e14c1ca7813e2f6d186fd66ce39ddbbb42e1342e 100644 (file)
@@ -1945,10 +1945,8 @@ static int pci_suspend(struct pci_dev *pdev, pm_message_t state)
                return err;
        }
        err = pci_set_power_state(pdev, pci_choose_state(pdev, state));
-       if (err) {
-               fw_error("pci_set_power_state failed\n");
-               return err;
-       }
+       if (err)
+               fw_error("pci_set_power_state failed with %d\n", err);
 
        return 0;
 }