summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/8254TimerDxe/Timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'OvmfPkg/8254TimerDxe/Timer.c')
-rw-r--r--OvmfPkg/8254TimerDxe/Timer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/OvmfPkg/8254TimerDxe/Timer.c b/OvmfPkg/8254TimerDxe/Timer.c
index 67e22f5da1..fd1691beb3 100644
--- a/OvmfPkg/8254TimerDxe/Timer.c
+++ b/OvmfPkg/8254TimerDxe/Timer.c
@@ -79,8 +79,6 @@ TimerInterruptHandler (
OriginalTPL = gBS->RaiseTPL (TPL_HIGH_LEVEL);
- mLegacy8259->EndOfInterrupt (mLegacy8259, Efi8259Irq0);
-
if (mTimerNotifyFunction != NULL) {
//
// @bug : This does not handle missed timer interrupts
@@ -89,6 +87,9 @@ TimerInterruptHandler (
}
gBS->RestoreTPL (OriginalTPL);
+
+ DisableInterrupts ();
+ mLegacy8259->EndOfInterrupt (mLegacy8259, Efi8259Irq0);
}
/**