audk/MdeModulePkg
Albecki, Mateusz eb6a748272 MdeModulePkg/Ahci: Skip retry for non-transient errors
bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=4011

Currently AHCI driver will try to retry all failed packets
regardless of the failure cause. This is a problem in password
unlock flow where number of password retries is tracked by the
device. If user passes a wrong password Ahci driver will try
to send the wrong password multiple times which will exhaust
number of password retries and force the user to restart the
machine. This commit introduces a logic to check for the cause
of packet failure and only retry packets which failed due to
transient conditions on the link. With this patch only packets for
which CRC error is flagged are retried.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Hunter Chang <hunter.chang@intel.com>
Cc: Baraneedharan Anbazhagan <anbazhagan@hp.com>
Signed-off-by: Mateusz Albecki <mateusz.albecki@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Reviewed-by: Baraneedharan Anbazhagan <anbazhagan@hp.com>
2023-03-31 21:01:13 +00:00
..
Application MdeModulePkg/DumpDynPcd: Remove unsupported format specifiers 2022-08-17 07:45:58 +00:00
Bus MdeModulePkg/Ahci: Skip retry for non-transient errors 2023-03-31 21:01:13 +00:00
Core MdePkg: Update MemoryAttributesTable to v2.10 2023-03-30 11:05:22 +00:00
Include MdeModulePkg/Include/Ppi: Add FirmwareVolumeShadowPpi 2023-03-27 16:25:51 +00:00
Library MdeModulePkg/BmBoot: Skip removable media if it is not present 2023-03-17 03:47:36 +00:00
Logo MdeModulePkg/Logo: Add LoongArch64 architecture. 2022-10-14 02:16:33 +00:00
Test MdeModulePkg/UefiSortLib:Add UefiSortLib unit test 2021-08-12 08:34:04 +00:00
Universal MdeModulePkg/Variable: Attribute combination should return EFI_UNSUPPORTED 2023-02-15 04:29:36 +00:00
MdeModulePkg.ci.yaml MdeModulePkg: Update YAML to ignore specific ECC files/errors 2021-11-30 14:19:07 +00:00
MdeModulePkg.dec MdeModulePkg/Include/Ppi: Add FirmwareVolumeShadowPpi 2023-03-27 16:25:51 +00:00
MdeModulePkg.dsc MdeModulePkg: Add IpmiCommandLib 2023-01-19 03:57:32 +00:00
MdeModulePkg.uni MdeModulePkg: Use configurable PCD for AHCI command retries 2022-09-13 02:51:27 +00:00
MdeModulePkgExtra.uni MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00