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

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

diff -u --recursive --new-file v2.1.59/linux/drivers/net/fmv18x.c linux/drivers/net/fmv18x.c
@@ -180,7 +180,7 @@
 	irq = irqmap[(inb(ioaddr + FJ_CONFIG0)>>6) & 0x03];
 
 	/* Snarf the interrupt vector now. */
-	if (request_irq(irq, &net_interrupt, 0, "fmv18x", NULL)) {
+	if (request_irq(irq, &net_interrupt, 0, "fmv18x", dev)) {
 		printk ("FMV-18x found at %#3x, but it's unusable due to a conflict on"
 				"IRQ %d.\n", ioaddr, irq);
 		return EAGAIN;
@@ -199,7 +199,6 @@
 
 	dev->base_addr = ioaddr;
 	dev->irq = irq;
-	irq2dev_map[irq] = dev;
 
 	for(i = 0; i < 6; i++) {
 		unsigned char val = inb(ioaddr + FJ_MACADDR + i);
@@ -399,7 +398,7 @@
 static void
 net_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
-	struct device *dev = (struct device *)(irq2dev_map[irq]);
+	struct device *dev = dev_id;
 	struct net_local *lp;
 	int ioaddr, status;
 
@@ -643,7 +642,6 @@
 
 	/* If we don't do this, we can't re-insmod it later. */
 	free_irq(dev_fmv18x.irq, NULL);
-	irq2dev_map[dev_fmv18x.irq] = NULL;
 	release_region(dev_fmv18x.base_addr, FMV18X_IO_EXTENT);
 }
 #endif /* MODULE */

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