]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c
EmbeddedPkg/MmcDxe: Avoid nanosecond delay when command succeeds
[mirror_edk2.git] / EmbeddedPkg / Universal / MmcDxe / MmcBlockIo.c
index 32a85196ad8228a02ef698050b61d70db61f9d8b..7452b55391d556a4e0e4c98f111c1c94616315d0 100644 (file)
@@ -628,7 +628,10 @@ MmcIoBlocks (
     while(!(Response[0] & MMC_R0_READY_FOR_DATA) && (MMC_R0_CURRENTSTATE(Response) != MMC_R0_STATE_TRAN) && Timeout--) {\r
       Status = MmcHost->SendCommand (MmcHost, MMC_CMD13, CmdArg);\r
       if (!EFI_ERROR(Status)) {\r
-        MmcHost->ReceiveResponse (MmcHost, MMC_RESPONSE_TYPE_R1,Response);\r
+        MmcHost->ReceiveResponse (MmcHost, MMC_RESPONSE_TYPE_R1, Response);\r
+        if ((Response[0] & MMC_R0_READY_FOR_DATA)) {\r
+          break;  // Prevents delay once finished\r
+        }\r
       }\r
       NanoSecondDelay(100);\r
       Timeout--;\r