summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>2002-04-17 18:27:10 +0000
committertegge <tegge@FreeBSD.org>2002-04-17 18:27:10 +0000
commit79f75008296af2f24ee5c4f051483adcdd3920e0 (patch)
tree820409285ac729bd99e021b878bee670f33a7a4b /sys/amd64
parentd1305c4e3ce37d64226a71ed0de1a0d4ad75e9f9 (diff)
downloadFreeBSD-src-79f75008296af2f24ee5c4f051483adcdd3920e0.zip
FreeBSD-src-79f75008296af2f24ee5c4f051483adcdd3920e0.tar.gz
Update io_apic_ints array properly when revoking an irq mapping.
Adjust panic message. Submitted by: David Xu <bsddiy@yahoo.com>
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/mp_machdep.c4
-rw-r--r--sys/amd64/amd64/mptable.c4
-rw-r--r--sys/amd64/include/mptable.h4
3 files changed, 6 insertions, 6 deletions
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index 2b5ac5a..05917ee 100644
--- a/sys/amd64/amd64/mp_machdep.c
+++ b/sys/amd64/amd64/mp_machdep.c
@@ -1025,7 +1025,7 @@ revoke_apic_irq(int irq)
int oldintpin;
if (int_to_apicintpin[irq].ioapic == -1)
- panic("assign_apic_irq: inconsistent table");
+ panic("revoke_apiq_irq: inconsistent table");
oldapic = int_to_apicintpin[irq].ioapic;
oldintpin = int_to_apicintpin[irq].int_pin;
@@ -1038,7 +1038,7 @@ revoke_apic_irq(int irq)
for (x = 0; x < nintrs; x++) {
if ((io_apic_ints[x].int_type == 0 ||
io_apic_ints[x].int_type == 3) &&
- io_apic_ints[x].int_vector == 0xff &&
+ io_apic_ints[x].int_vector != 0xff &&
io_apic_ints[x].dst_apic_id == IO_TO_ID(oldapic) &&
io_apic_ints[x].dst_apic_int == oldintpin)
io_apic_ints[x].int_vector = 0xff;
diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c
index 2b5ac5a..05917ee 100644
--- a/sys/amd64/amd64/mptable.c
+++ b/sys/amd64/amd64/mptable.c
@@ -1025,7 +1025,7 @@ revoke_apic_irq(int irq)
int oldintpin;
if (int_to_apicintpin[irq].ioapic == -1)
- panic("assign_apic_irq: inconsistent table");
+ panic("revoke_apiq_irq: inconsistent table");
oldapic = int_to_apicintpin[irq].ioapic;
oldintpin = int_to_apicintpin[irq].int_pin;
@@ -1038,7 +1038,7 @@ revoke_apic_irq(int irq)
for (x = 0; x < nintrs; x++) {
if ((io_apic_ints[x].int_type == 0 ||
io_apic_ints[x].int_type == 3) &&
- io_apic_ints[x].int_vector == 0xff &&
+ io_apic_ints[x].int_vector != 0xff &&
io_apic_ints[x].dst_apic_id == IO_TO_ID(oldapic) &&
io_apic_ints[x].dst_apic_int == oldintpin)
io_apic_ints[x].int_vector = 0xff;
diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h
index 2b5ac5a..05917ee 100644
--- a/sys/amd64/include/mptable.h
+++ b/sys/amd64/include/mptable.h
@@ -1025,7 +1025,7 @@ revoke_apic_irq(int irq)
int oldintpin;
if (int_to_apicintpin[irq].ioapic == -1)
- panic("assign_apic_irq: inconsistent table");
+ panic("revoke_apiq_irq: inconsistent table");
oldapic = int_to_apicintpin[irq].ioapic;
oldintpin = int_to_apicintpin[irq].int_pin;
@@ -1038,7 +1038,7 @@ revoke_apic_irq(int irq)
for (x = 0; x < nintrs; x++) {
if ((io_apic_ints[x].int_type == 0 ||
io_apic_ints[x].int_type == 3) &&
- io_apic_ints[x].int_vector == 0xff &&
+ io_apic_ints[x].int_vector != 0xff &&
io_apic_ints[x].dst_apic_id == IO_TO_ID(oldapic) &&
io_apic_ints[x].dst_apic_int == oldintpin)
io_apic_ints[x].int_vector = 0xff;
OpenPOWER on IntegriCloud