diff options
-rw-r--r-- | EmulatorPkg/EmuBlockIoDxe/EmuBlockIo.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/EmulatorPkg/EmuBlockIoDxe/EmuBlockIo.c b/EmulatorPkg/EmuBlockIoDxe/EmuBlockIo.c index 4e8caf2514..685824b79b 100644 --- a/EmulatorPkg/EmuBlockIoDxe/EmuBlockIo.c +++ b/EmulatorPkg/EmuBlockIoDxe/EmuBlockIo.c @@ -96,6 +96,11 @@ EmuBlockIo2ReadBlocksEx ( Status = Private->Io->ReadBlocks (Private->Io, MediaId, LBA, Token, BufferSize, Buffer);
gBS->RestoreTPL (OldTpl);
+
+ if (Token && Token->Event && !EFI_ERROR (Status)) {
+ gBS->SignalEvent (Token->Event);
+ }
+
return Status;
}
@@ -152,6 +157,11 @@ EmuBlockIo2WriteBlocksEx ( Status = Private->Io->WriteBlocks (Private->Io, MediaId, LBA, Token, BufferSize, Buffer);
gBS->RestoreTPL (OldTpl);
+
+ if (Token && Token->Event && !EFI_ERROR (Status)) {
+ gBS->SignalEvent (Token->Event);
+ }
+
return Status;
}
@@ -195,6 +205,11 @@ EmuBlockIo2Flush ( Status = Private->Io->FlushBlocks (Private->Io, Token);
gBS->RestoreTPL (OldTpl);
+
+ if (Token && Token->Event && !EFI_ERROR (Status)) {
+ gBS->SignalEvent (Token->Event);
+ }
+
return Status;
}
|