From 96756716c04c4a17296568d027abc123dfab5fa7 Mon Sep 17 00:00:00 2001 From: rsun3 Date: Thu, 9 Dec 2010 08:02:34 +0000 Subject: [PATCH] when SMM Communication Protocol.Communicate() is called from within SMM, SMRAM is accessible so it is not necessary to check the SMRAM open/lock state via SMM ACCESS Protocol. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11142 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c index 21cd87c315..532d4f2f6f 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c @@ -454,9 +454,9 @@ SmmCommunicationCommunicate ( } // - // Don't allow call SmiManage() directly when SMRAM is closed or locked. + // If we are not in SMM, don't allow call SmiManage() directly when SMRAM is closed or locked. // - if (!mSmmAccess->OpenState || mSmmAccess->LockState) { + if ((!gSmmCorePrivate->InSmm) && (!mSmmAccess->OpenState || mSmmAccess->LockState)) { return EFI_INVALID_PARAMETER; }