Fix a bug in irq_release() when searching interrupt list for the handler
to remove. The address of the pointer rather than the address of what is pointed to was use to track the previous handler resulting in problems when releasing a chained irq. (from John Ballance)
This commit is contained in:
parent
6a1e9744f2
commit
ae0af9300a
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: iomd_irqhandler.c,v 1.15 1997/10/14 11:06:01 mark Exp $ */
|
||||
/* $NetBSD: iomd_irqhandler.c,v 1.16 1997/11/07 01:04:51 mark Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994-1996 Mark Brinicombe.
|
||||
@ -337,7 +337,7 @@ irq_release(irq, handler)
|
||||
prehand = &irqhandlers[irq];
|
||||
|
||||
while (irqhand && handler != irqhand) {
|
||||
prehand = &irqhand;
|
||||
prehand = &irqhand->ih_next;
|
||||
irqhand = irqhand->ih_next;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user