From: Li Shaohua Obviously pci_enable_device should be called after pci_restore_state. Signed-off-by: Li Shaohua Signed-off-by: Andrew Morton --- 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 Wed Nov 10 16:00:36 2004 +++ 25-akpm/drivers/net/e1000/e1000_main.c Wed Nov 10 16:00:36 2004 @@ -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 */ _