]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/PiSmmCore/Smi.c
Update SmiManager() to invoke all root SMI handlers to following PI Spec.
[mirror_edk2.git] / MdeModulePkg / Core / PiSmmCore / Smi.c
index 1868bbf9e195be969ba07a220ea3b3bdd34ad6b0..1111959c3a40f34332caddc30e7e59ed93508612 100644 (file)
@@ -170,14 +170,20 @@ SmiManage (
       // If a handler returns EFI_INTERRUPT_PENDING then no additional handlers \r
       // will be processed and EFI_INTERRUPT_PENDING will be returned.\r
       //\r
-      return EFI_INTERRUPT_PENDING;\r
+      if (HandlerType != NULL) {\r
+        return EFI_INTERRUPT_PENDING;\r
+      }\r
+      break;\r
 \r
     case EFI_SUCCESS:\r
       //\r
       // If a handler returns EFI_SUCCESS then no additional handlers will be processed.\r
       // then the function will return EFI_SUCCESS.\r
       //\r
-      return EFI_SUCCESS;\r
+      if (HandlerType != NULL) {\r
+        return EFI_SUCCESS;\r
+      }\r
+      break;\r
 \r
     case EFI_WARN_INTERRUPT_SOURCE_QUIESCED:\r
       //\r