]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg ScsiBusDxe: Only signal caller event when PassThru() succeeds
authorHao Wu <hao.a.wu@intel.com>
Tue, 22 Dec 2015 13:55:34 +0000 (13:55 +0000)
committerhwu1225 <hwu1225@Edk2>
Tue, 22 Dec 2015 13:55:34 +0000 (13:55 +0000)
commit9f840a9ea33cd2ce533a3fa923ab5be73c40bed7
tree5e5d04bef8f55df16d46e821313371256ca37123
parent66ca22d05cb88d3460e7caca112020b31dbcf2d0
MdeModulePkg ScsiBusDxe: Only signal caller event when PassThru() succeeds

In ScsiExecuteSCSICommand(), when SCSI devices do not support non-blocking
I/O but an event is passed from caller (UefiScsiLib), the function will
execute the SCSI I/O command in a blocking manner and signal the caller
event when the command completes.

Originally, caller event from UefiScsiLib will be signaled if the SCSI
command fails. UefiScsiLib will continue to signal its caller (BlockIO2
request from ScsiDiskDxe driver), which is not aligned with the UEFI spec
that event will not be signaled when BlockIO2 request returns with error.

This commit will signal ScsiExecuteSCSICommand()'s caller event only when
the SCSI command succeeds.

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@19447 6f19259b-4bc3-4df7-8a09-765794883524
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.c