DORMANTno replies

[PATCH] (4/12) skge: suspend/resume related state management

From: Stephen Hemminger <hidden>
Date: 2005-03-03 19:35:43

Fix suspend/resume logic.  On suspend, shutdown board if it is already
up, and on resume only bring it up if it was up before the suspend

Signed-off-by: Stephen Hemminger <redacted>
--- skge-2.6.11/drivers/net/skge.c.orig	2005-03-02 17:17:25.000000000 -0800
+++ skge-2.6.11/drivers/net/skge.c	2005-03-02 17:21:40.000000000 -0800
@@ -3268,11 +3268,12 @@
 	for(i = 0; i < 2; i++) {
 		struct net_device *dev = hw->dev[i];
 
-		if (dev && netif_running(dev)) {
+		if (dev) {
 			struct skge_port *skge = netdev_priv(dev);
-
-			netif_carrier_off(dev);
-			skge_down(dev);
+			if (netif_running(dev)) {
+				netif_carrier_off(dev);
+				skge_down(dev);
+			}
 			netif_device_detach(dev);
 			wol |= skge->wol;
 		}
@@ -3293,13 +3294,17 @@
 
 	pci_set_power_state(pdev, PCI_D0);
 	pci_restore_state(pdev);
+	pci_enable_wake(pdev, PCI_D0, 0);
 
 	skge_reset(hw);
 
 	for(i = 0; i < 2; i++) {
 		struct net_device *dev = hw->dev[i];
-		if (dev && netif_running(dev))
-			skge_up(dev);
+		if (dev) {
+			netif_device_attach(dev);
+			if(netif_running(dev))
+				skge_up(dev);
+		}
 	}
 	return 0;
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help