summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/i386/local_apic.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/i386/i386/local_apic.c b/sys/i386/i386/local_apic.c
index df4d1debf477..1e0132cd1eec 100644
--- a/sys/i386/i386/local_apic.c
+++ b/sys/i386/i386/local_apic.c
@@ -324,7 +324,7 @@ lapic_setup(void)
lapic_timer_enable_intr();
}
- /* XXX: Performance counter, error, and thermal LVTs */
+ /* XXX: Error and thermal LVTs */
intr_restore(eflags);
}
@@ -928,8 +928,12 @@ lapic_ipi_vectored(u_int vector, int dest)
}
/* Wait for an earlier IPI to finish. */
- if (!lapic_ipi_wait(BEFORE_SPIN))
- panic("APIC: Previous IPI is stuck");
+ if (!lapic_ipi_wait(BEFORE_SPIN)) {
+ if (panicstr != NULL)
+ return;
+ else
+ panic("APIC: Previous IPI is stuck");
+ }
lapic_ipi_raw(icrlo, destfield);