]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg/AtaAtapiPassThru: Restart failed packets
authorAlbecki, Mateusz <mateusz.albecki@intel.com>
Thu, 5 Nov 2020 12:48:46 +0000 (20:48 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 11 Nov 2020 02:27:59 +0000 (02:27 +0000)
commit64e25d4b062c907dab2dd30b686de9219d8e372c
tree91c40e734ac6cecbffeceaa6ad41483f1ef92415
parentb465a811006eb1663068380dded041d287ace907
MdeModulePkg/AtaAtapiPassThru: Restart failed packets

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3026

This commit adds code to restart the ATA packets that failed due to the
CRC error or other link condition. For sync transfers the code will try
to get the command working for up to 5 times. For async transfers, the
command will be retried until the timeout value timeout specified by the
requester is reached. For sync case the count of 5 retries has been
chosen arbitrarily and if needed can be increased or decreased.

Signed-off-by: Mateusz Albecki <mateusz.albecki@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h