MdeModulePkg/Mtftp4Dxe: Separate the timer ticking to calculate the packet live time.
TPL deadlock issue was enrolled by the commit of39b0867d. To resolve the issue, this patch separated the timer ticking for all the MTFTP clients to calculate the packet live time in TPL_NOTIFY level. Cc: Wang Fan <fan.wang@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Ye Ting <ting.ye@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> (cherry picked from commit0e2a5749d8)
This commit is contained in:
@@ -1082,6 +1082,7 @@ EfiMtftp4Poll (
|
||||
{
|
||||
MTFTP4_PROTOCOL *Instance;
|
||||
EFI_UDP4_PROTOCOL *Udp;
|
||||
EFI_STATUS Status;
|
||||
|
||||
if (This == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@@ -1096,7 +1097,9 @@ EfiMtftp4Poll (
|
||||
}
|
||||
|
||||
Udp = Instance->UnicastPort->Protocol.Udp4;
|
||||
return Udp->Poll (Udp);
|
||||
Status = Udp->Poll (Udp);
|
||||
Mtftp4OnTimerTick (NULL, Instance->Service);
|
||||
return Status;
|
||||
}
|
||||
|
||||
EFI_MTFTP4_PROTOCOL gMtftp4ProtocolTemplate = {
|
||||
|
||||
Reference in New Issue
Block a user