PCI PM: Check if the state has been saved before trying to restore it
authorRafael J. Wysocki <rjw@sisk.pl>
Wed, 4 Feb 2009 00:57:22 +0000 (01:57 +0100)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Thu, 5 Feb 2009 01:20:39 +0000 (17:20 -0800)
Check if the standard configuration registers of a PCI device have
been saved during suspend before trying to restore them during
resume.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-By: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci.c

index 48807556b47a3346781e05153021a36e8adcca3b..87c904233bf5410fa08c3e15935873c2e8224b08 100644 (file)
@@ -1421,7 +1421,7 @@ int pci_restore_standard_config(struct pci_dev *dev)
        dev->current_state = PCI_D0;
 
  Restore:
-       return pci_restore_state(dev);
+       return dev->state_saved ? pci_restore_state(dev) : 0;
 }
 
 /**