The function ScsiDiskFlushBlocksEx() in ScsiDiskDxe/ScsiDisk.c originally always returns EFI_SUCCESS, which is not aligned with the UEFI spec. This commit adds addtional checks to see if the media in the device is changed or removed. Check for whether the device can be written is also added. Corresponding status will be returned according to the check result. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19444 6f19259b-4bc3-4df7-8a09-765794883524