summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c
index 7ee4cca..04dae34 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;
- }
+ }
}
}
}