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

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

diff -u --recursive --new-file v2.1.59/linux/drivers/net/eexpress.c linux/drivers/net/eexpress.c
@@ -346,9 +346,7 @@
 	if (!irq || !irqrmap[irq])
 		return -ENXIO;
 
-	if (irq2dev_map[irq] ||
-	   ((irq2dev_map[irq]=dev),0) ||
-	     request_irq(irq,&eexp_irq,0,"EtherExpress",NULL))
+	if (request_irq(irq,&eexp_irq,0,"EtherExpress",dev))
 		return -EAGAIN;
 
 	request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress");
@@ -391,7 +389,6 @@
 	scb_command(dev, SCB_CUsuspend|SCB_RUsuspend);
 	outb(0,ioaddr+SIGNAL_CA);
 	free_irq(irq,NULL);
-	irq2dev_map[irq] = NULL;
 	outb(i586_RST,ioaddr+EEPROM_Ctrl);
 	release_region(ioaddr,16);
 
@@ -628,7 +625,7 @@
 	
 static void eexp_irq(int irq, void *dev_info, struct pt_regs *regs)
 {
-	struct device *dev = irq2dev_map[irq];
+	struct device *dev = dev_info;
 	struct net_local *lp;
 	unsigned short ioaddr,status,ack_cmd;
 	unsigned short old_read_ptr, old_write_ptr;

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