Rafael J. Wysocki wrote:
On Monday 16 February 2009, Yu Zhao wrote:
The device state is restored twice by the PCI PM and device driver itself.
Before removing the pci_restore_state() from the device driver, we'd better
check the `state_saved' to avoid the second restore.
This patch will break things (like anything behind a cardbus bridge).
Does it fix any observable problem?
Can you please explain how it breaks cardbus device?
Through the pci_restore_state gets called twice when device resumes, I
didn't see any observable problem.
Signed-off-by: Yu Zhao <yu.zhao@xxxxxxxxx>
---
drivers/pci/pci.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 9376763..2b11810 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -762,6 +762,9 @@ pci_restore_state(struct pci_dev *dev)
int i;
u32 val;
+ if (!dev->state_saved)
+ return 0;
+
/* PCI Express register must be restored first */
pci_restore_pcie_state(dev);
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html