Messages in this thread Patches in this message | | | Subject | [PATCH]E1000 stop working after resume | From | Li Shaohua <> | Date | Tue, 02 Nov 2004 16:45:00 +0800 |
| |
Hi, Obviously pci_enable_device should be called after pci_restore_state.
Shaohua
Signed-off-by: Li Shaohua <shaohua.li@intel.com> ---
2.6-root/drivers/net/e1000/e1000_main.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-)
diff -puN drivers/net/e1000/e1000_main.c~e1000-resume drivers/net/e1000/e1000_main.c --- 2.6/drivers/net/e1000/e1000_main.c~e1000-resume 2004-11-02 16:34:31.665692032 +0800 +++ 2.6-root/drivers/net/e1000/e1000_main.c 2004-11-02 16:35:18.095633608 +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 */ _
---
2.6-root/drivers/net/e1000/e1000_main.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-)
diff -puN drivers/net/e1000/e1000_main.c~e1000-resume drivers/net/e1000/e1000_main.c --- 2.6/drivers/net/e1000/e1000_main.c~e1000-resume 2004-11-02 16:34:31.665692032 +0800 +++ 2.6-root/drivers/net/e1000/e1000_main.c 2004-11-02 16:35:18.095633608 +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 */ _ | |