AtaBusDxe: Fix ReadBlockEx andWriteBlockEx to still signal event when the BufferSize is 0.

DiskIoDxe: Fix ReadDiskEx and WriteDiskEx to not modify the user’s buffer when the BufferSize is 0.
DiskIoDxe: Fix ReadDiskEx and WriteDiskEx hang issue when the submitted blockio2 task is completed before submitting another blockio2 task.
DiskIoDxe: Fix FlushEx to free the flush task item in callback (memory leak issue).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16215 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ruiyu Ni
2014-10-15 04:49:04 +00:00
committed by niruiyu
parent 4202afa45d
commit bf5a9493fa
3 changed files with 89 additions and 49 deletions

View File

@@ -51,6 +51,7 @@ typedef struct {
typedef struct {
UINT32 Signature;
LIST_ENTRY Link; /// < link to other task
EFI_LOCK SubtasksLock;
LIST_ENTRY Subtasks; /// < header of subtasks
EFI_DISK_IO2_TOKEN *Token;
DISK_IO_PRIVATE_DATA *Instance;