\r
ON_EXIT:\r
\r
+ //\r
+ // Recycle the packet before reusing RxToken\r
+ //\r
+ gBS->SignalEvent (Private->IpChoice == PING_IP_CHOICE_IP6?((EFI_IP6_RECEIVE_DATA*)Private->RxToken.Packet.RxData)->RecycleSignal:((EFI_IP4_RECEIVE_DATA*)Private->RxToken.Packet.RxData)->RecycleSignal);\r
+\r
if (Private->RxCount < Private->SendNum) {\r
//\r
// Continue to receive icmp echo reply packets.\r
//\r
Private->Status = EFI_SUCCESS;\r
}\r
- //\r
- // Singal to recycle the each rxdata here, not at the end of process.\r
- //\r
- gBS->SignalEvent (Private->IpChoice == PING_IP_CHOICE_IP6?((EFI_IP6_RECEIVE_DATA*)Private->RxToken.Packet.RxData)->RecycleSignal:((EFI_IP4_RECEIVE_DATA*)Private->RxToken.Packet.RxData)->RecycleSignal);\r
}\r
\r
/**\r