From 1fc12ca8cebc3bc7ed7d3ce8f97e5a9783d3d836 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Thu, 21 Oct 2004 11:11:45 -0400 Subject: [PATCH] [PATCH] Fix suspend/resume support in via-rhine2 If I want via-rhine to work after resume, I need this patch. It stops interrupts during suspend and reinitializes them after that. --- drivers/net/via-rhine.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 5a011ee958b9..41a97d7185d6 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -1957,6 +1957,7 @@ static int rhine_suspend(struct pci_dev *pdev, u32 state) rhine_shutdown(&pdev->dev); spin_unlock_irqrestore(&rp->lock, flags); + free_irq(dev->irq, dev); return 0; } @@ -1970,6 +1971,9 @@ static int rhine_resume(struct pci_dev *pdev) 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", -- 2.39.5