summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c')
-rw-r--r--MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c b/MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c
index 04e437e939..b6d93921b2 100644
--- a/MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c
+++ b/MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c
@@ -531,6 +531,11 @@ MnpReceive (
// Try to deliver any buffered packets.
//
Status = MnpInstanceDeliverPacket (Instance);
+
+ //
+ // Dispatch the DPC queued by the NotifyFunction of Token->Event.
+ //
+ NetLibDispatchDpc ();
}
ON_EXIT:
@@ -596,6 +601,11 @@ MnpCancel (
Status = (Status == EFI_ABORTED) ? EFI_SUCCESS : EFI_NOT_FOUND;
}
+ //
+ // Dispatch the DPC queued by the NotifyFunction of the cancled token's events.
+ //
+ NetLibDispatchDpc ();
+
ON_EXIT:
NET_RESTORE_TPL (OldTpl);
@@ -648,8 +658,11 @@ MnpPoll (
//
Status = MnpReceivePacket (Instance->MnpServiceData);
+ NetLibDispatchDpc ();
+
ON_EXIT:
NET_RESTORE_TPL (OldTpl);
return Status;
}
+