patch-2.1.60 linux/drivers/net/ni65.c

Next file: linux/drivers/net/pi2.c
Previous file: linux/drivers/net/ni52.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.59/linux/drivers/net/ni65.c linux/drivers/net/ni65.c
@@ -268,13 +268,12 @@
 {
 	struct priv *p = (struct priv *) dev->priv;
 	int irqval = request_irq(dev->irq, &ni65_interrupt,0,
-                        cards[p->cardno].cardname,NULL);
+                        cards[p->cardno].cardname,dev);
 	if (irqval) {
 		printk ("%s: unable to get IRQ %d (irqval=%d).\n",
 		          dev->name,dev->irq, irqval);
 		return -EAGAIN;
 	}
-	irq2dev_map[dev->irq] = dev;
 
 	if(ni65_lance_reinit(dev))
 	{
@@ -286,7 +285,6 @@
 	}
 	else
 	{
-		irq2dev_map[dev->irq] = NULL;
 		free_irq(dev->irq,NULL);
 		dev->start = 0;
 		return -EAGAIN;
@@ -314,7 +312,6 @@
 		}
 	}
 #endif
-	irq2dev_map[dev->irq] = NULL;
 	free_irq(dev->irq,NULL);
 	dev->tbusy = 1;
 	dev->start = 0;
@@ -795,7 +792,7 @@
 static void ni65_interrupt(int irq, void * dev_id, struct pt_regs * regs)
 {
 	int csr0;
-	struct device *dev = (struct device *) irq2dev_map[irq];
+	struct device *dev = dev_id;
 	struct priv *p;
 	int bcnt = 32;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov