audk/MdeModulePkg/Bus/Ata/AtaAtapiPassThru
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
..
AhciMode.c MdeModulePkg/Ahci: Skip retry for non-transient errors 2023-03-31 21:01:13 +00:00
AhciMode.h MdeModulePkg/Ahci: Skip retry for non-transient errors 2023-03-31 21:01:13 +00:00
AtaAtapiPassThru.c
AtaAtapiPassThru.h
AtaAtapiPassThru.inf
AtaAtapiPassThruDxe.uni
AtaAtapiPassThruDxeExtra.uni
ComponentName.c
IdeMode.c
IdeMode.h