summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PcAtChipsetPkg/8259InterruptControllerDxe/8259.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
index 447106afe9..e73a1007a2 100644
--- a/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
+++ b/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
@@ -123,8 +123,10 @@ Interrupt8259SetVectorBase (
IN UINT8 SlaveBase
)
{
- UINT8 Mask;
+ UINT8 Mask;
+ EFI_TPL OriginalTpl;
+ OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);
//
// Set vector base for slave PIC
//
@@ -211,6 +213,8 @@ Interrupt8259SetVectorBase (
IoWrite8 (LEGACY_8259_CONTROL_REGISTER_SLAVE, LEGACY_8259_EOI);
IoWrite8 (LEGACY_8259_CONTROL_REGISTER_MASTER, LEGACY_8259_EOI);
+
+ gBS->RestoreTPL (OriginalTpl);
return EFI_SUCCESS;
}