Date: Thu, 10 Jun 2010 17:04:02 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r208991 - head/sys/x86/x86 Message-ID: <201006101704.o5AH42QB010707@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006101704.o5AH42QB010707>