summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>2005-05-28 05:15:19 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>2005-05-28 05:15:19 +0000
commit6a28bc2171077443d8e80c12f967491687b7aac3 (patch)
treed8f9e386cee694b608e5c516bec94caa72cc51cf /sys/arch
parent41cea4848702e95aadcd65a080785233dc8298e0 (diff)
If irq-sharing happens over different ioapics, we must not overwrite setup info for one of them
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/amd64/amd64/intr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/amd64/amd64/intr.c b/sys/arch/amd64/amd64/intr.c
index 239b641a464..703cc3caf47 100644
--- a/sys/arch/amd64/amd64/intr.c
+++ b/sys/arch/amd64/amd64/intr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.c,v 1.7 2005/04/26 20:56:59 miod Exp $ */
+/* $OpenBSD: intr.c,v 1.8 2005/05/28 05:15:18 niklas Exp $ */
/* $NetBSD: intr.c,v 1.3 2003/03/03 22:16:20 fvdl Exp $ */
/*
@@ -286,7 +286,7 @@ intr_allocate_slot(struct pic *pic, int legacy_irq, int pin, int level,
ci->ci_isources[slot] = isp;
simple_unlock(&ci->ci_slock);
} else {
- if (isp->is_pin != pin) {
+ if (isp->is_pic != pic || isp->is_pin != pin) {
if (pic == &i8259_pic)
return EINVAL;
goto other;