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); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"