From 3f250a944d691d2169fa3834c89eed7235b735ae Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Wed, 4 May 2016 12:50:48 +0800 Subject: [PATCH] SecurityPkg OpalPasswordSmm: Always execute BlockSid command. The BlockSid feature is not depend on lock status, so move the send BlockSid command out of unlock process. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Feng Tian --- .../Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c b/SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c index 46311bd8a0..47b570f343 100644 --- a/SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c +++ b/SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c @@ -442,19 +442,19 @@ SmmUnlockOpalPassword ( Session.MediaId = 0; Session.OpalBaseComId = OpalDev->OpalBaseComId; - if (mSendBlockSID && BlockSidSupport) { - Result = OpalBlockSid (&Session, TRUE); - if (Result != TcgResultSuccess) { - break; - } - } - Result = OpalSupportUnlock (&Session, OpalDev->Password, OpalDev->PasswordLength, NULL); if (Result == TcgResultSuccess) { Status = EFI_SUCCESS; } } + if (mSendBlockSID && BlockSidSupport) { + Result = OpalBlockSid (&Session, TRUE); + if (Result != TcgResultSuccess) { + break; + } + } + if (OpalDev->DeviceType == OPAL_DEVICE_TYPE_NVME) { if (SubClassCode == PCI_CLASS_MASS_STORAGE_NVM) { Status = NvmeControllerExit (&mNvmeContext); -- 2.39.2