patch-1.3.70 linux/drivers/net/de4x5.c
Next file: linux/drivers/net/de600.c
Previous file: linux/drivers/net/auto_irq.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
Fri Mar 1 07:50:43 1996
- Orig file:
v1.3.69/linux/drivers/net/de4x5.c
- Orig date:
Sun Dec 17 11:43:18 1995
diff -u --recursive --new-file v1.3.69/linux/drivers/net/de4x5.c linux/drivers/net/de4x5.c
@@ -396,7 +396,7 @@
*/
static int de4x5_open(struct device *dev);
static int de4x5_queue_pkt(struct sk_buff *skb, struct device *dev);
-static void de4x5_interrupt(int irq, struct pt_regs *regs);
+static void de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs);
static int de4x5_close(struct device *dev);
static struct enet_statistics *de4x5_get_stats(struct device *dev);
static void set_multicast_list(struct device *dev);
@@ -761,7 +761,7 @@
dce_ms_delay(10);
}
- if (request_irq(dev->irq, (void *)de4x5_interrupt, 0, lp->adapter_name)) {
+ if (request_irq(dev->irq, (void *)de4x5_interrupt, SA_SHIRQ, lp->adapter_name, dev)) {
printk("de4x5_open(): Requested IRQ%d is busy\n",dev->irq);
status = -EAGAIN;
} else {
@@ -1065,9 +1065,9 @@
** interrupt is asserted and this routine entered.
*/
static void
-de4x5_interrupt(int irq, struct pt_regs *regs)
+de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
- struct device *dev = (struct device *)(irq2dev_map[irq]);
+ struct device *dev = (struct device *)dev_id;
struct de4x5_private *lp;
s32 imr, omr, sts;
u_long iobase;
@@ -1332,7 +1332,7 @@
/*
** Free the associated irq
*/
- free_irq(dev->irq);
+ free_irq(dev->irq, dev);
irq2dev_map[dev->irq] = 0;
MOD_DEC_USE_COUNT;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this