[patch 09/21] forcedeth: add pci_enable_device() to nv_resume()
From: akpm@linux-foundation.org
Date: 2008-09-22 21:59:52
From: Simon Arlott <redacted> My NIC stops working after resuming from standby, it's not receiving any interrupts. Commit 25d90810ff49d2a63475776f24c74c6bb49b045f ([netdrvr] forcedeth: reorder suspend/resume code) introduces pci_disable_device to nv_suspend, but there's no corresponding pci_enable_device in nv_resume - so I added one (copied from e1000). This results in interrupts being re-enabled after suspend. However, the NIC (10de:0373) still doesn't work after resume. Cc: Tobias Diedrich <redacted> Cc: Jeff Garzik <redacted> Cc: Ayaz Abdulla <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- drivers/net/forcedeth.c | 7 +++++++ 1 file changed, 7 insertions(+) diff -puN drivers/net/forcedeth.c~forcedeth-add-pci_enable_device-to-nv_resume drivers/net/forcedeth.c
--- a/drivers/net/forcedeth.c~forcedeth-add-pci_enable_device-to-nv_resume
+++ a/drivers/net/forcedeth.c@@ -5968,6 +5968,13 @@ static int nv_resume(struct pci_dev *pde pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); + rc = pci_enable_device(pdev); + if (rc) { + printk(KERN_ERR "forcedeth: Cannot enable PCI device from suspend\n"); + return rc; + } + pci_set_master(pdev); + /* ack any pending wake events, disable PME */ pci_enable_wake(pdev, PCI_D0, 0);
_