audk/FatPkg
Hao Wu 2551014719 FatPkg/EnhancedFatDxe: Ensure traverse of subtasks is delete-safe
Within function FatQueueTask(), the traverse of FAT subtasks for
executing the disk read/write is not delete-safe.

For the below case:

FatDiskIo(): When non-blocking access, creates subtasks and creates
event (FatOnAccessComplete, NOTIFY level) when subtasks finish.

FatQueueTask(): Traverses the subtasks and submits them one by one at
Tpl lower than NOTIFY.

Disk R/W completes really quick.

FatOnAccessComplete(): Removes the finished subtask, causing the
traverse in FatQueueTask() broken.

This commits will refine the subtask traverse in FatQueueTask() to be
delete-safe.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2018-04-18 15:08:14 +08:00
..
EnhancedFatDxe FatPkg/EnhancedFatDxe: Ensure traverse of subtasks is delete-safe 2018-04-18 15:08:14 +08:00
FatPei FatPkg: Refine casting expression result to bigger size 2017-03-06 14:33:21 +08:00
FatPkg.dec FatPkg: Fix format issues in dec/inf/dsc files 2016-12-09 11:02:10 +08:00
FatPkg.dsc FatPkg: Fix format issues in dec/inf/dsc files 2016-12-09 11:02:10 +08:00
FatPkg.uni FatPkg: INF/DEC file updates to EDK II packages 2016-04-06 23:22:43 -07:00
FatPkgExtra.uni FatPkg: INF/DEC file updates to EDK II packages 2016-04-06 23:22:43 -07:00