ShellPkg/Ping: fix loss of first packet
Issue: Reply for first ping packet was getting dropped. Cause: Sometimes reply message comes even before trasmit function returns, hence missing 1st reply Fix: Prepare the TxList before calling Transmit function. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
parent
8aaa8f7bc0
commit
d624deb7ab
|
@ -784,14 +784,17 @@ PingSendEchoRequest (
|
||||||
}
|
}
|
||||||
|
|
||||||
ASSERT(Private->ProtocolPointers.Transmit != NULL);
|
ASSERT(Private->ProtocolPointers.Transmit != NULL);
|
||||||
|
|
||||||
|
InsertTailList (&Private->TxList, &TxInfo->Link);
|
||||||
|
|
||||||
Status = Private->ProtocolPointers.Transmit (Private->IpProtocol, TxInfo->Token);
|
Status = Private->ProtocolPointers.Transmit (Private->IpProtocol, TxInfo->Token);
|
||||||
|
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
|
RemoveEntryList (&TxInfo->Link);
|
||||||
PingDestroyTxInfo (TxInfo, Private->IpChoice);
|
PingDestroyTxInfo (TxInfo, Private->IpChoice);
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
InsertTailList (&Private->TxList, &TxInfo->Link);
|
|
||||||
Private->TxCount++;
|
Private->TxCount++;
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue