svn commit: r208991 - head/sys/x86/x86
Alexander Motin
mav at FreeBSD.org
Thu Jun 10 17:04:02 UTC 2010
Author: mav
Date: Thu Jun 10 17:04:01 2010
New Revision: 208991
URL: http://svn.freebsd.org/changeset/base/208991
Log:
Do not disable edge-triggered interrupts before migration. DELAY() with
interrupt disabled highly probable causes interrupt loss.
Modified:
head/sys/x86/x86/io_apic.c
Modified: head/sys/x86/x86/io_apic.c
==============================================================================
--- head/sys/x86/x86/io_apic.c Thu Jun 10 16:56:35 2010 (r208990)
+++ head/sys/x86/x86/io_apic.c Thu Jun 10 17:04:01 2010 (r208991)
@@ -356,7 +356,7 @@ ioapic_assign_cpu(struct intsrc *isrc, u
* extra DELAY() to avoid being stuck in a non-EOI'd state.
*/
mtx_lock_spin(&icu_lock);
- if (!intpin->io_masked) {
+ if (!intpin->io_masked && !intpin->io_edgetrigger) {
ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin),
intpin->io_lowreg | IOART_INTMSET);
DELAY(100);
More information about the svn-src-all
mailing list