
From: Li Shaohua <shaohua.li@intel.com>

Obviously pci_enable_device should be called after pci_restore_state. 

Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/net/e1000/e1000_main.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -puN drivers/net/e1000/e1000_main.c~e1000-stop-working-after-resume drivers/net/e1000/e1000_main.c
--- 25/drivers/net/e1000/e1000_main.c~e1000-stop-working-after-resume	2004-11-02 02:16:19.504309696 -0800
+++ 25-akpm/drivers/net/e1000/e1000_main.c	2004-11-02 02:16:19.509308936 -0800
@@ -2885,9 +2885,11 @@ e1000_resume(struct pci_dev *pdev)
 	struct e1000_adapter *adapter = netdev->priv;
 	uint32_t manc, ret;
 
-	ret = pci_enable_device(pdev);
 	pci_set_power_state(pdev, 0);
 	pci_restore_state(pdev);
+	ret = pci_enable_device(pdev);
+	if (pdev->is_busmaster)
+		pci_set_master(pdev);
 
 	pci_enable_wake(pdev, 3, 0);
 	pci_enable_wake(pdev, 4, 0); /* 4 == D3 cold */
_
