mirror_edk2/MdeModulePkg
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
..
Application MdeModulePkg/CapsuleApp: Enhance Capsule-On-Disk related functions. 2019-06-26 15:08:18 +08:00
Bus MdeModulePkg/UfsPassThruDxe: Fix unaligned data transfer handling 2019-07-01 09:05:13 +08:00
Core MdeModulePkg/DxeIpl: Support Capsule On Disk. 2019-06-26 15:10:41 +08:00
Include MdeModulePkg: Add Capsule On Disk APIs into CapsuleLib. 2019-06-26 15:10:42 +08:00
Library MdeModulePkg/DxeCapsuleLibFmp: Add missing NULL pointer check. 2019-06-28 12:31:48 +08:00
Logo MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Universal MdeModulePkg/CapsulePei: Add memory pointer check 2019-06-26 16:08:48 +08:00
MdeModulePkg.dec MdeModulePkg: Add Capsule On Disk related definition. 2019-06-26 15:10:40 +08:00
MdeModulePkg.dsc MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM. 2019-06-26 15:10:42 +08:00
MdeModulePkg.uni MdeModulePkg: Add Capsule On Disk related definition. 2019-06-26 15:10:40 +08:00
MdeModulePkgExtra.uni MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00