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

Next file: linux/drivers/net/wavelan.c
Previous file: linux/drivers/net/smc-ultra.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.59/linux/drivers/net/smc9194.c linux/drivers/net/smc9194.c
@@ -1102,13 +1102,12 @@
 	ether_setup(dev);
 
 	/* Grab the IRQ */
-      	irqval = request_irq(dev->irq, &smc_interrupt, 0, CARDNAME, NULL);
+      	irqval = request_irq(dev->irq, &smc_interrupt, 0, CARDNAME, dev);
       	if (irqval) {
        	  printk(CARDNAME": unable to get IRQ %d (irqval=%d).\n",
 		dev->irq, irqval);
        	  return -EAGAIN;
       	}
-	irq2dev_map[dev->irq] = dev;
 
 	/* Grab the region so that no one else tries to probe our ioports. */
 	request_region(ioaddr, SMC_IO_EXTENT, CARDNAME);
@@ -1274,7 +1273,7 @@
 static void smc_interrupt(int irq, struct pt_regs * regs)
 #endif
 {
-	struct device *dev 	= (struct device *)(irq2dev_map[irq]);
+	struct device *dev 	= dev_id;
 	int ioaddr 		= dev->base_addr;
 	struct smc_local *lp 	= (struct smc_local *)dev->priv;
 
@@ -1765,7 +1764,6 @@
 	unregister_netdev(&devSMC9194);
 
 	free_irq(devSMC9194.irq, NULL );
-	irq2dev_map[devSMC9194.irq] = NULL;
 	release_region(devSMC9194.base_addr, SMC_IO_EXTENT);
 
 	if (devSMC9194.priv)

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