diff --git a/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c b/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c index 427572c2ff..e74777fbc6 100644 --- a/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c +++ b/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c @@ -387,11 +387,18 @@ TimerInterruptHandler ( 100000000 ); + // + // Save main counter value before calling notification function + // that may enable interrupts and allow interrupt nesting. + // + mPreviousMainCounter = MainCounter; + // // Call registered notification function passing in the time since the last // interrupt in 100 ns units. // mTimerNotifyFunction (TimerPeriod); + return; } //