mirror_edk2/MdeModulePkg/Bus
Albecki, Mateusz a37e18f6fc MdeModulePkg/UfsPassThruDxe: Fix unaligned data transfer handling
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1341

Since UFS specification requires the data buffer specified
in PRDT to be DWORD aligned in size we had a code in
UfsInitUtpPrdt that aligned the data buffer by rounding down
the buffer size to DWORD boundary. This meant that for SCSI
commands that wanted to perform unaligned data transfer(such as
SENSE command) we specified to small buffer for the data to fit
and transfer was aborted. This change introduces code that allocates
auxiliary DWORD aligned data buffer for unaligned transfer. Device
transfers data to aligned buffer and when data transfer is over driver
copies data from aligned buffer to data buffer passed by user.

Signed-off-by: Mateusz Albecki <mateusz.albecki@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2019-07-01 09:05:13 +08:00
..
Ata MdeModulePkg/AhciPei: Fix device cannot be found in non-S3 path 2019-05-31 15:56:41 +08:00
I2c/I2cDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Isa MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Pci MdeModulePkg/NvmExpressPei: Produce NVM Express PassThru PPI 2019-06-24 09:07:58 +08:00
Scsi MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Sd MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Ufs MdeModulePkg/UfsPassThruDxe: Fix unaligned data transfer handling 2019-07-01 09:05:13 +08:00
Usb MdeModulePkg: Remove BootInRecoveryMode PPI 2019-05-09 20:52:41 +08:00