Browse Source

[PATCH] orinoco: unregister network device before releasing PCMCIA resources

Hardware resources should not be made available to other devices while
the network device is still registered.  Also remove the related debug
statements.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Roskin 19 years ago
parent
commit
e4f4f98efd
2 changed files with 6 additions and 12 deletions
  1. 3 6
      drivers/net/wireless/orinoco_cs.c
  2. 3 6
      drivers/net/wireless/spectrum_cs.c

+ 3 - 6
drivers/net/wireless/orinoco_cs.c

@@ -147,14 +147,11 @@ static void orinoco_cs_detach(struct pcmcia_device *link)
 {
 	struct net_device *dev = link->priv;
 
+	if (link->dev_node)
+		unregister_netdev(dev);
+
 	orinoco_cs_release(link);
 
-	DEBUG(0, PFX "detach: link=%p link->dev_node=%p\n", link, link->dev_node);
-	if (link->dev_node) {
-		DEBUG(0, PFX "About to unregister net device %p\n",
-		      dev);
-		unregister_netdev(dev);
-	}
 	free_orinocodev(dev);
 }				/* orinoco_cs_detach */
 

+ 3 - 6
drivers/net/wireless/spectrum_cs.c

@@ -625,14 +625,11 @@ static void spectrum_cs_detach(struct pcmcia_device *link)
 {
 	struct net_device *dev = link->priv;
 
+	if (link->dev_node)
+		unregister_netdev(dev);
+
 	spectrum_cs_release(link);
 
-	DEBUG(0, PFX "detach: link=%p link->dev_node=%p\n", link, link->dev_node);
-	if (link->dev_node) {
-		DEBUG(0, PFX "About to unregister net device %p\n",
-		      dev);
-		unregister_netdev(dev);
-	}
 	free_orinocodev(dev);
 }				/* spectrum_cs_detach */