It is possible that during boot one of the ATA packets will fail which currently will result in the entire boot process abort. Since the failure of the SATA link is to some degree random(depends on BER of specific controller + board + device combination) this can cause inconsistent boot behavior when booting from SATA drives. Adding an ATA packet restart to AtaAtapiPassThru will provide a more reliable boot.
Albecki: please work the design and patch.
V1 patch sent at: https://edk2.groups.io/g/devel/message/66925
V2 patch sent at: https://edk2.groups.io/g/devel/message/67036 V3 patch sent at: https://edk2.groups.io/g/devel/message/67040
Resolved via: PR - https://github.com/tianocore/edk2/pull/1113 Commit - https://github.com/tianocore/edk2/commit/64e25d4b062c907dab2dd30b686de9219d8e372c