diff options
Diffstat (limited to 'SourceLevelDebugPkg/Library/DebugAgent')
-rw-r--r-- | SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c | 14 |
1 files changed, 9 insertions, 5 deletions
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;
- }
+ }
}
}
}
|