Adds a call to RestoreTpl() in DiskIo2ReadWriteDisk(). While the current
implementation does not technically violate spec on raise/restore TPL,
this extra call ensures symmetry between RaiseTpl and RestoreTpl calls,
which makes analysis of TPL correctness simpler and permits certain
non-standard TPL usages that some platforms require.
Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com>
DISK_IO_SUBTASK *Subtask;\r
DISK_IO2_TASK *Task;\r
EFI_TPL OldTpl;\r
+ EFI_TPL OldTpl1;\r
BOOLEAN Blocking;\r
BOOLEAN SubtaskBlocking;\r
LIST_ENTRY *SubtasksPtr;\r
}\r
}\r
\r
- gBS->RaiseTPL (TPL_NOTIFY);\r
+ OldTpl1 = gBS->RaiseTPL (TPL_NOTIFY);\r
\r
//\r
// Remove all the remaining subtasks when failure.\r
FreePool (Task);\r
}\r
\r
+ gBS->RestoreTPL (OldTpl1);\r
gBS->RestoreTPL (OldTpl);\r
\r
return Status;\r