[PATCH]E1000 stop working after resume

From: Li Shaohua
Date: Tue Nov 02 2004 - 03:59:23 EST


Hi,
Obviously pci_enable_device should be called after pci_restore_state.

Shaohua


Signed-off-by: Li Shaohua <shaohua.li@xxxxxxxxx>
---

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 */
_