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

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

diff -u --recursive --new-file v2.1.59/linux/drivers/net/ibmtr.c linux/drivers/net/ibmtr.c
@@ -567,12 +567,11 @@
 	DPRINTK("Using %dK shared RAM\n",ti->mapped_ram_size/2);
 #endif
 
-	if (request_irq (dev->irq = irq, &tok_interrupt,0,"ibmtr", NULL) != 0) {
+	if (request_irq (dev->irq = irq, &tok_interrupt,0,"ibmtr", dev) != 0) {
 		DPRINTK("Could not grab irq %d.  Halting Token Ring driver.\n",irq);
 		kfree_s(ti, sizeof(struct tok_info));
 		return -ENODEV;
 	}
-	irq2dev_map[irq]=dev;
 
  /*?? Now, allocate some of the PIO PORTs for this driver.. */
 	request_region(PIOaddr,IBMTR_IO_EXTENT,"ibmtr");  /* record PIOaddr range
@@ -701,7 +700,7 @@
 #if TR_VERBOSE
 	DPRINTK("Int from tok_driver, dev : %p\n",dev);
 #endif
-	dev = (struct device *)(irq2dev_map[irq]);
+	dev = dev_id;
 	ti  = (struct tok_info *) dev->priv;
 
       	/* Disable interrupts till processing is finished */
@@ -1579,7 +1578,6 @@
 	        if (dev_ibmtr[i]) {
 			 unregister_trdev(dev_ibmtr[i]);
 			 free_irq(dev_ibmtr[i]->irq, NULL);
-			 irq2dev_map[dev_ibmtr[i]->irq] = NULL;
 			 release_region(dev_ibmtr[i]->base_addr, IBMTR_IO_EXTENT);
 			 kfree_s(dev_ibmtr[i]->priv, sizeof(struct tok_info));
 			 kfree_s(dev_ibmtr[i], sizeof(struct device));

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