]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
ShellPkg/Ping: fix loss of first packet
[mirror_edk2.git] / ShellPkg / Library / UefiShellNetwork1CommandsLib / Ping.c
index bec9535a8b436338c91e94290fde58a900e43804..46ba701fc544a754c9ddeed158111c0f8f4781c7 100644 (file)
@@ -784,14 +784,17 @@ PingSendEchoRequest (
   }\r
 \r
   ASSERT(Private->ProtocolPointers.Transmit != NULL);\r
+\r
+  InsertTailList (&Private->TxList, &TxInfo->Link);\r
+\r
   Status = Private->ProtocolPointers.Transmit (Private->IpProtocol, TxInfo->Token);\r
 \r
   if (EFI_ERROR (Status)) {\r
+    RemoveEntryList (&TxInfo->Link);\r
     PingDestroyTxInfo (TxInfo, Private->IpChoice);\r
     return Status;\r
   }\r
 \r
-  InsertTailList (&Private->TxList, &TxInfo->Link);\r
   Private->TxCount++;\r
 \r
   return EFI_SUCCESS;\r