X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=PcAtChipsetPkg%2FHpetTimerDxe%2FHpetTimer.c;h=c62c3a9b2b98d23dd6f30f1bf291201af85fa2f2;hp=0ed874357b161c704c1025b6a0844d3f465325fe;hb=70830df6dc72b4fea5e5e9eef07f0039a8a77afe;hpb=a6f5a5b51f0f4e6915f1ac2b799574fd4591c440 diff --git a/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c b/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c index 0ed874357b..c62c3a9b2b 100644 --- a/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c +++ b/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c @@ -492,11 +492,17 @@ TimerDriverSetTimerPeriod ( IN UINT64 TimerPeriod ) { + EFI_TPL Tpl; UINT64 MainCounter; UINT64 Delta; UINT64 CurrentComparator; HPET_TIMER_MSI_ROUTE_REGISTER HpetTimerMsiRoute; - + + // + // Disable interrupts + // + Tpl = gBS->RaiseTPL (TPL_HIGH_LEVEL); + // // Disable HPET timer when adjusting the timer period // @@ -616,7 +622,12 @@ TimerDriverSetTimerPeriod ( // is disabled. // HpetEnable (TRUE); - + + // + // Restore interrupts + // + gBS->RestoreTPL (Tpl); + return EFI_SUCCESS; }