From e7cbcafe3066a04eeb34b9bd29cdb0b85c37f5d3 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Thu, 2 Jan 2003 16:06:49 +0000 Subject: [PATCH] Moved the call to HalEndSystemInterrupt to the end of KiInterruptDispatch. svn path=/trunk/; revision=3920 --- reactos/ntoskrnl/ke/i386/irq.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/reactos/ntoskrnl/ke/i386/irq.c b/reactos/ntoskrnl/ke/i386/irq.c index bc0dcd6714c..b2f7c70089a 100644 --- a/reactos/ntoskrnl/ke/i386/irq.c +++ b/reactos/ntoskrnl/ke/i386/irq.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: irq.c,v 1.26 2002/12/09 19:53:44 hbirr Exp $ +/* $Id: irq.c,v 1.27 2003/01/02 16:06:49 hbirr Exp $ * * PROJECT: ReactOS kernel * FILE: ntoskrnl/ke/i386/irq.c @@ -507,18 +507,20 @@ KiInterruptDispatch (ULONG irq, PKIRQ_TRAPFRAME Trapframe) */ KiInterruptDispatch2(irq, old_level); - /* - * End the system interrupt. - */ - HalEndSystemInterrupt (old_level, 0); - /* * Maybe do a reschedule as well. */ if (old_level < DISPATCH_LEVEL && irq == 0) { + KeLowerIrql(APC_LEVEL); PsDispatchThread(THREAD_STATE_READY); } + + /* + * End the system interrupt. + */ + __asm__("cli\n\t"); + HalEndSystemInterrupt (old_level, 0); } #endif /* MP */