From: Pavel Machek If I want via-rhine to work after resume, I need this patch. It stops interrupts during suspend and reinitializes them after that. Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/via-rhine.c | 4 ++++ 1 files changed, 4 insertions(+) diff -puN drivers/net/via-rhine.c~fix-suspend-resume-support-in-via-rhine2 drivers/net/via-rhine.c --- 25/drivers/net/via-rhine.c~fix-suspend-resume-support-in-via-rhine2 2004-10-21 21:06:47.098607656 -0700 +++ 25-akpm/drivers/net/via-rhine.c 2004-10-21 21:06:47.103606896 -0700 @@ -1958,6 +1958,7 @@ static int rhine_suspend(struct pci_dev rhine_shutdown(&pdev->dev); spin_unlock_irqrestore(&rp->lock, flags); + free_irq(dev->irq, dev); return 0; } @@ -1971,6 +1972,9 @@ static int rhine_resume(struct pci_dev * if (!netif_running(dev)) return 0; + if (request_irq(dev->irq, rhine_interrupt, SA_SHIRQ, dev->name, dev)) + printk(KERN_ERR "via-rhine %s: request_irq failed\n", dev->name); + ret = pci_set_power_state(pdev, 0); if (debug > 1) printk(KERN_INFO "%s: Entering power state D0 %s (%d).\n", _