diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c index 7ee4cca43b..04dae34194 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c @@ -598,15 +598,19 @@ SendCommandAndWaitForAckOK ( SendPacketWithoutData (Command); while (TRUE) { Status = ReceiveAckPacket (&Ack, Timeout, BreakReceived, CheckSumStatus); - if (Status == RETURN_SUCCESS && Ack == DEBUG_COMMAND_OK) { + if (Status == RETURN_SUCCESS && Ack == DEBUG_COMMAND_RESEND) { + // + // Resend the last command + // + break; + } + if ((Status == RETURN_SUCCESS && Ack == DEBUG_COMMAND_OK) || + Status == RETURN_TIMEOUT) { // // Received Ack OK or timeout // return Status; - } - if (Status == RETURN_TIMEOUT) { - break; - } + } } } }