diff --git a/MdeModulePkg/Core/PiSmmCore/Smi.c b/MdeModulePkg/Core/PiSmmCore/Smi.c index 3489c130fd..2985f989c3 100644 --- a/MdeModulePkg/Core/PiSmmCore/Smi.c +++ b/MdeModulePkg/Core/PiSmmCore/Smi.c @@ -134,14 +134,8 @@ SmiManage ( Head = &SmiEntry->SmiHandlers; - for (Link = Head->ForwardLink; Link != Head;) { + for (Link = Head->ForwardLink; Link != Head; Link = Link->ForwardLink) { SmiHandler = CR (Link, SMI_HANDLER, Link, SMI_HANDLER_SIGNATURE); - // - // To support unregister SMI handler inside SMI handler itself, - // get next node before handler is executed, since LIST_ENTRY that - // Link points to may be freed if unregister SMI handler. - // - Link = Link->ForwardLink; Status = SmiHandler->Handler ( (EFI_HANDLE)SmiHandler,