patch-2.3.47 linux/drivers/net/pcmcia/xirc2ps_cs.c

Next file: linux/drivers/net/pcnet32.c
Previous file: linux/drivers/net/pcmcia/wavelan_cs.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.46/linux/drivers/net/pcmcia/xirc2ps_cs.c linux/drivers/net/pcmcia/xirc2ps_cs.c
@@ -1340,8 +1340,7 @@
       case CS_EVENT_CARD_REMOVAL:
 	  link->state &= ~DEV_PRESENT;
 	  if (link->state & DEV_CONFIG) {
-	      netif_stop_queue(dev);
-	      clear_bit(LINK_STATE_START, &dev->state);
+	      netif_device_detach(dev);
 	      link->release.expires = jiffies + HZ / 20;
 	      add_timer(&link->release);
 	  }
@@ -1356,8 +1355,7 @@
       case CS_EVENT_RESET_PHYSICAL:
 	  if (link->state & DEV_CONFIG) {
 	      if (link->open) {
-		  netif_stop_queue(dev);
-		  clear_bit(LINK_STATE_START, &dev->state);
+		  netif_device_detach(dev);
 		  lp->suspended=1;
 		  do_powerdown(dev);
 	      }
@@ -1373,8 +1371,7 @@
 	     if (link->open) {
 		 do_reset(dev,1);
 		 lp->suspended=0;
-		 set_bit(LINK_STATE_START, &dev->state);
-		 netif_start_queue(dev);
+		 netif_device_attach(dev);
 	     }
 	  }
 	  break;
@@ -1403,7 +1400,7 @@
 				  */
 
     spin_lock (&lp->lock);
-    if (!test_bit(LINK_STATE_START, &dev->state))
+    if (!netif_device_present(dev))
 	return;
 
     ioaddr = dev->base_addr;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)