bitkeeper revision 1.891.1.29 (40a622bbu2RlVfjjQ0b4lDdDQDrrXA)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Sat, 15 May 2004 14:01:31 +0000 (14:01 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Sat, 15 May 2004 14:01:31 +0000 (14:01 +0000)
Quick fix for ngio domain shutdown.

xenolinux-2.4.26-sparse/arch/xen/drivers/netif/frontend/main.c

index 85f8375f8e8f5520086f65bb6996b02c63d1e22b..43e1ba6ed7dde6c27b58ecc6c28468b16c8cfd1e 100644 (file)
@@ -437,7 +437,10 @@ static int network_close(struct net_device *dev)
 
     netif_stop_queue(np->dev);
 
-    while ( (np->rx_resp_cons != np->rx->req_prod) ||
+    np->state = NETIF_STATE_CONNECTED;
+
+    /* XXX We need to properly disconnect via the domain controller. */
+    while ( /*(np->rx_resp_cons != np->rx->req_prod) ||*/
             (np->tx_resp_cons != np->tx->req_prod) )
     {
         barrier();
@@ -445,10 +448,6 @@ static int network_close(struct net_device *dev)
         schedule_timeout(1);
     }
 
-    wmb();
-    np->state = NETIF_STATE_CONNECTED;
-    wmb();
-
     MOD_DEC_USE_COUNT;
 
     return 0;