diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-12-06 23:51:34 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-12-06 23:51:34 +0000 |
commit | 230e5ab6a084ed50470f101934782dbf54b0d06b (patch) | |
tree | 5dd821c8d33f450470588e7a543f74bf74306e9e /drivers/net/3c503.c | |
parent | c9b1c8a64c6444d189856f1e26bdcb8b4cd0113a (diff) |
Merge with Linux 2.1.67.
Diffstat (limited to 'drivers/net/3c503.c')
-rw-r--r-- | drivers/net/3c503.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/3c503.c b/drivers/net/3c503.c index aa69a74e6..228404fc6 100644 --- a/drivers/net/3c503.c +++ b/drivers/net/3c503.c @@ -340,13 +340,13 @@ el2_open(struct device *dev) outb(EGACFR_NORM, E33G_GACFR); /* Enable RAM and interrupts. */ do { - if (request_irq (*irqp, NULL, 0, "bogus", NULL) != -EBUSY) { + if (request_irq (*irqp, NULL, 0, "bogus", dev) != -EBUSY) { /* Twinkle the interrupt, and check if it's seen. */ autoirq_setup(0); outb_p(0x04 << ((*irqp == 9) ? 2 : *irqp), E33G_IDCFR); outb_p(0x00, E33G_IDCFR); if (*irqp == autoirq_report(0) /* It's a good IRQ line! */ - && request_irq (dev->irq = *irqp, &ei_interrupt, 0, ei_status.name, NULL) == 0) + && request_irq (dev->irq = *irqp, &ei_interrupt, 0, ei_status.name, dev) == 0) break; } } while (*++irqp); @@ -355,7 +355,7 @@ el2_open(struct device *dev) return -EAGAIN; } } else { - if (request_irq(dev->irq, &ei_interrupt, 0, ei_status.name, NULL)) { + if (request_irq(dev->irq, &ei_interrupt, 0, ei_status.name, dev)) { return -EAGAIN; } } @@ -369,9 +369,8 @@ el2_open(struct device *dev) static int el2_close(struct device *dev) { - free_irq(dev->irq, NULL); + free_irq(dev->irq, dev); dev->irq = ei_status.saved_irq; - irq2dev_map[dev->irq] = NULL; outb(EGACFR_IRQOFF, E33G_GACFR); /* disable interrupts. */ ei_close(dev); @@ -675,7 +674,7 @@ cleanup_module(void) for (this_dev = 0; this_dev < MAX_EL2_CARDS; this_dev++) { struct device *dev = &dev_el2[this_dev]; if (dev->priv != NULL) { - /* NB: el2_close() handles free_irq + irq2dev map */ + /* NB: el2_close() handles free_irq */ kfree(dev->priv); dev->priv = NULL; release_region(dev->base_addr, EL2_IO_EXTENT); |