patch-2.4.22 linux-2.4.22/drivers/net/wireless/orinoco_pci.c
Next file: linux-2.4.22/drivers/net/wireless/orinoco_plx.c
Previous file: linux-2.4.22/drivers/net/wireless/orinoco_cs.c
Back to the patch index
Back to the overall index
- Lines: 88
- Date:
2003-08-25 04:44:42.000000000 -0700
- Orig file:
linux-2.4.21/drivers/net/wireless/orinoco_pci.c
- Orig date:
2003-06-13 07:51:35.000000000 -0700
diff -urN linux-2.4.21/drivers/net/wireless/orinoco_pci.c linux-2.4.22/drivers/net/wireless/orinoco_pci.c
@@ -1,4 +1,4 @@
-/* orinoco_pci.c 0.13b
+/* orinoco_pci.c 0.13d
*
* Driver for Prism II devices that have a direct PCI interface
* (i.e., not in a Pcmcia or PLX bridge)
@@ -143,8 +143,6 @@
unsigned long timeout;
u16 reg;
- TRACE_ENTER(priv->ndev->name);
-
/* Assert the reset until the card notice */
hermes_write_regn(hw, PCI_COR, HERMES_PCI_COR_MASK);
printk(KERN_NOTICE "Reset done");
@@ -181,8 +179,6 @@
}
printk(KERN_NOTICE "pci_cor : reg = 0x%X - %lX - %lX\n", reg, timeout, jiffies);
- TRACE_EXIT(priv->ndev->name);
-
return 0;
}
@@ -232,7 +228,7 @@
hermes_struct_init(&(priv->hw), dev->base_addr, HERMES_MEM, HERMES_32BIT_REGSPACING);
pci_set_drvdata(pdev, dev);
- err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, dev->name, priv);
+ err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, dev->name, dev);
if (err) {
printk(KERN_ERR "orinoco_pci: Error allocating IRQ %d.\n", pdev->irq);
err = -EBUSY;
@@ -264,7 +260,7 @@
unregister_netdev(dev);
if (dev->irq)
- free_irq(dev->irq, priv);
+ free_irq(dev->irq, dev);
kfree(dev);
}
@@ -286,7 +282,7 @@
unregister_netdev(dev);
if (dev->irq)
- free_irq(dev->irq, priv);
+ free_irq(dev->irq, dev);
if (priv->hw.iobase)
iounmap((unsigned char *) priv->hw.iobase);
@@ -321,7 +317,7 @@
netif_device_detach(dev);
- priv->hw_unavailable = 1;
+ priv->hw_unavailable++;
orinoco_unlock(priv, &flags);
@@ -348,15 +344,15 @@
netif_device_attach(dev);
- if (priv->open) {
+ priv->hw_unavailable--;
+
+ if (priv->open && (! priv->hw_unavailable)) {
err = __orinoco_up(dev);
if (err)
printk(KERN_ERR "%s: Error %d restarting card on orinoco_pci_resume()\n",
dev->name, err);
}
- priv->hw_unavailable = 0;
-
spin_unlock_irqrestore(&priv->lock, flags);
return 0;
@@ -378,7 +374,7 @@
.resume = orinoco_pci_resume,
};
-static char version[] __initdata = "orinoco_pci.c 0.13b (David Gibson <hermes@gibson.dropbear.id.au> & Jean Tourrilhes <jt@hpl.hp.com>)";
+static char version[] __initdata = "orinoco_pci.c 0.13d (David Gibson <hermes@gibson.dropbear.id.au> & Jean Tourrilhes <jt@hpl.hp.com>)";
MODULE_AUTHOR("David Gibson <hermes@gibson.dropbear.id.au>");
MODULE_DESCRIPTION("Driver for wireless LAN cards using direct PCI interface");
MODULE_LICENSE("Dual MPL/GPL");
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)