From: Maxim Levitsky <maximlevitsky@gmail.com>
Date: Sun, 4 Nov 2007 20:59:28 +0000 (-0300)
Subject: V4L/DVB (6667): Fix access to configuration space while in D3
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0d65cd4f2bfe70872e4218d9d35d37a7000d6739;p=linux.git

V4L/DVB (6667): Fix access to configuration space while in D3

pci_save_state should be called before pci_set_power_state
and pci_restore_state after pci_set_power_state

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index 76410f5bdcdd9..40cdec26a7f47 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -1194,10 +1194,10 @@ static int saa7134_suspend(struct pci_dev *pci_dev , pm_message_t state)
 	if (dev->remote)
 		saa7134_ir_stop(dev);
 
-	pci_set_power_state(pci_dev, pci_choose_state(pci_dev, state));
 	pci_save_state(pci_dev);
+	pci_set_power_state(pci_dev, pci_choose_state(pci_dev, state));
 
-    return 0;
+	return 0;
 }
 
 static int saa7134_resume(struct pci_dev *pci_dev)
@@ -1205,8 +1205,8 @@ static int saa7134_resume(struct pci_dev *pci_dev)
 	struct saa7134_dev *dev = pci_get_drvdata(pci_dev);
 	unsigned long flags;
 
-	pci_restore_state(pci_dev);
 	pci_set_power_state(pci_dev, PCI_D0);
+	pci_restore_state(pci_dev);
 
 	/* Do things that are done in saa7134_initdev ,
 		except of initializing memory structures.*/