Token->Status = Status;\r
gBS->SignalEvent (Token->Event);\r
\r
+ //\r
+ // Dispatch the DPC queued by the NotifyFunction of Token->Event.\r
+ //\r
+ NetLibDispatchDpc ();\r
+\r
return EFI_SUCCESS;\r
}\r
\r
\r
ConfigData = &Instance->ConfigData;\r
\r
- if (ConfigData->EnablePromiscuousReceive) {\r
- //\r
- // Always match if this instance is configured to be promiscuous.\r
- //\r
- return TRUE;\r
- }\r
//\r
// Check the protocol type.\r
//\r
return FALSE;\r
}\r
\r
+ if (ConfigData->EnablePromiscuousReceive) {\r
+ //\r
+ // Always match if this instance is configured to be promiscuous.\r
+ //\r
+ return TRUE;\r
+ }\r
+\r
//\r
// The protocol type is matched, check receive filter, include unicast and broadcast.\r
//\r
//\r
MnpDeliverPacket (MnpServiceData);\r
\r
+ //\r
+ // Dispatch the DPC queued by the NotifyFunction of rx token's events.\r
+ //\r
+ NetLibDispatchDpc ();\r
+\r
EXIT:\r
\r
ASSERT (Nbuf->TotalSize == MnpServiceData->BufferLength);\r
// Try to receive packets from Snp.\r
//\r
MnpReceivePacket (MnpServiceData);\r
+\r
+ NetLibDispatchDpc ();\r
}\r