audk/MdeModulePkg/Bus/Ata/AtaAtapiPassThru
Paolo Bonzini f6a683e01b MdeModulePkg/.../IdeMode: correctly report length of returned data
For some SCSI commands, notably INQUIRY, it's relatively common for
the device to provide less data than we intended to read, and for
this reason EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET makes
InTransferLength and OutTransferLength read-write.  Make ATAPI
aware of this.

This makes it possible to handle EFI_NOT_READY always, not just
for read as done in r19685.

I've chosen to use a break statement instead of calling
CheckStatusRegister directly; the break statement reaches a
pre-existing call the CheckStatusRegister function.  This
ensures that the assignment to *ByteCount is not missed, and
adds a further sanity check to DRQClear.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19737 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-25 11:33:37 +00:00
..
AhciMode.c MdeModulePkg: Add error DEBUG statements in ATA passthru driver 2016-01-06 02:49:47 +00:00
AhciMode.h MdeModulePkg/AtaAtapiPassThru: don't write read-only AHCI MMIO register 2014-11-10 05:46:21 +00:00
AtaAtapiPassThru.c MdeModulePkg/AtaAtapiPassThruDxe: Support 4K bytes block size HDDs 2015-05-22 06:53:44 +00:00
AtaAtapiPassThru.h MdeModulePkg/AtaAtapiPassThru: Handle timeout 0 as indefinitely wait to strictly comply with UEFI spec 2014-05-15 07:09:14 +00:00
AtaAtapiPassThru.inf MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:34:06 +00:00
AtaAtapiPassThruDxe.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
AtaAtapiPassThruDxeExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
ComponentName.c Fix the comments to follow UEFI Spec regarding how to check an EFI_HANDLE is valid/invalid. 2011-07-06 03:55:36 +00:00
IdeMode.c MdeModulePkg/.../IdeMode: correctly report length of returned data 2016-01-25 11:33:37 +00:00
IdeMode.h Add BlockIO2 Protocol. 2011-05-03 10:31:41 +00:00