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

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

diff -u --recursive --new-file v2.1.59/linux/drivers/net/eth16i.c linux/drivers/net/eth16i.c
@@ -434,7 +434,7 @@
 	dev->irq = irq;
 
 	/* Try to obtain interrupt vector */
-	if(request_irq(dev->irq, &eth16i_interrupt, 0, "eth16i", NULL)) {
+	if(request_irq(dev->irq, &eth16i_interrupt, 0, "eth16i", dev)) {
 		printk("%s: %s at %#3x, but is unusable due
 		       conflict on IRQ %d.\n", dev->name, cardname, ioaddr, irq);
 		return EAGAIN;
@@ -807,8 +807,6 @@
 	struct eth16i_local *lp = (struct eth16i_local *)dev->priv;
 	int ioaddr = dev->base_addr;
 
-	irq2dev_map[dev->irq] = dev;
-
 	/* Powerup the chip */
 	outb(0xc0 | POWERUP, ioaddr + CONFIG_REG_1);
 
@@ -1106,7 +1104,7 @@
 
 static void eth16i_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
-	struct device *dev = (struct device *)(irq2dev_map[irq]);
+	struct device *dev = dev_id;
 	struct eth16i_local *lp;
 	int ioaddr = 0,
 			status;
@@ -1228,7 +1226,6 @@
 {
 	unregister_netdev( &dev_eth16i );
 	free_irq( dev_eth16i.irq, NULL );
-	irq2dev_map[ dev_eth16i.irq ] = NULL;
 	release_region( dev_eth16i.base_addr, ETH16I_IO_EXTENT );
 }
 

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