summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c
index 38af39f41e..15dfa3699f 100644
--- a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c
+++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c
@@ -847,6 +847,7 @@ DiskIo2ReadWriteDisk (
DISK_IO_SUBTASK *Subtask;
DISK_IO2_TASK *Task;
EFI_TPL OldTpl;
+ EFI_TPL OldTpl1;
BOOLEAN Blocking;
BOOLEAN SubtaskBlocking;
LIST_ENTRY *SubtasksPtr;
@@ -977,7 +978,7 @@ DiskIo2ReadWriteDisk (
}
}
- gBS->RaiseTPL (TPL_NOTIFY);
+ OldTpl1 = gBS->RaiseTPL (TPL_NOTIFY);
//
// Remove all the remaining subtasks when failure.
@@ -1012,6 +1013,7 @@ DiskIo2ReadWriteDisk (
FreePool (Task);
}
+ gBS->RestoreTPL (OldTpl1);
gBS->RestoreTPL (OldTpl);
return Status;