]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c
MdeModulePkg/SdMmcPciHcDxe: Add retries for async commands
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / SdMmcPciHcDxe / SdMmcPciHcDxe.c
index 193b0f24e229df207d2da7a410608bcb862ee81d..b18ff3e97205bd37bf4d4f89bea79de2ae42df56 100644 (file)
@@ -211,8 +211,10 @@ Done:
       gBS->SignalEvent (TrbEvent);\r
       return;\r
     }\r
-  }\r
-  if ((Trb != NULL) && (Status != EFI_NOT_READY)) {\r
+  } else if ((Trb != NULL) && (Status == EFI_CRC_ERROR) && (Trb->Retries > 0)) {\r
+    Trb->Retries--;\r
+    Trb->Started = FALSE;\r
+  } else if ((Trb != NULL)) {\r
     RemoveEntryList (Link);\r
     Trb->Packet->TransactionStatus = Status;\r
     TrbEvent = Trb->Event;\r