summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/isa.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1997-06-08 17:15:31 +0000
committerache <ache@FreeBSD.org>1997-06-08 17:15:31 +0000
commitc91025daa9ed23fc75d59176eacb0d27feba98ef (patch)
tree2196119b37c0f4f9df4932ec52960b81f33481c0 /sys/i386/isa/isa.c
parentd219e7f0ddb30cdd388fba5371f5a20504323f1d (diff)
downloadFreeBSD-src-c91025daa9ed23fc75d59176eacb0d27feba98ef.zip
FreeBSD-src-c91025daa9ed23fc75d59176eacb0d27feba98ef.tar.gz
Add safety check in case "conflicts" keyword specified more times than
needed
Diffstat (limited to 'sys/i386/isa/isa.c')
-rw-r--r--sys/i386/isa/isa.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/i386/isa/isa.c b/sys/i386/isa/isa.c
index 9af74ec..62185c6 100644
--- a/sys/i386/isa/isa.c
+++ b/sys/i386/isa/isa.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)isa.c 7.2 (Berkeley) 5/13/91
- * $Id: isa.c,v 1.89 1997/06/02 08:19:05 dfr Exp $
+ * $Id: isa.c,v 1.90 1997/06/08 16:43:37 ache Exp $
*/
/*
@@ -537,9 +537,12 @@ config_isadev_c(isdp, mp, reconfig)
undirect_isa_irq(rirq); /* free for ISA */
}
#endif /* APIC_IO */
- if (!isdp->id_conflicts)
- register_intr(ffs(isdp->id_irq) - 1, isdp->id_id,
- isdp->id_ri_flags, isdp->id_intr,
+ if ( !isdp->id_conflicts
+ || !intr_registered(ffs(isdp->id_irq) - 1))
+ register_intr(ffs(isdp->id_irq) - 1,
+ isdp->id_id,
+ isdp->id_ri_flags,
+ isdp->id_intr,
mp, isdp->id_unit);
}
} else {
OpenPOWER on IntegriCloud