SecurityPkg OpalPasswordDxe: Check BlockSid capability before send command.

Not all opal device support BlockSid feature. So Add
code logic to check the capability before send BlockSid
command.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
This commit is contained in:
Eric Dong 2016-04-22 10:59:34 +08:00 committed by Liming Gao
parent 8d3d84508f
commit be08755355
1 changed files with 10 additions and 13 deletions

View File

@ -388,14 +388,11 @@ ReadyToBootCallback (
{
EFI_STATUS Status;
OPAL_DRIVER_DEVICE* Itr;
UINT8 Count;
TCG_RESULT Result;
OPAL_EXTRA_INFO_VAR OpalExtraInfo;
UINTN DataSize;
OPAL_SESSION Session;
Count = 0;
gBS->CloseEvent (Event);
DataSize = sizeof (OPAL_EXTRA_INFO_VAR);
@ -415,8 +412,8 @@ ReadyToBootCallback (
// Send BlockSID command to each Opal disk
//
Itr = mOpalDriver.DeviceList;
Count = 0;
while (Itr != NULL) {
if (Itr->OpalDisk.SupportedAttributes.BlockSid) {
ZeroMem(&Session, sizeof(Session));
Session.Sscp = Itr->OpalDisk.Sscp;
Session.MediaId = Itr->OpalDisk.MediaId;
@ -427,9 +424,9 @@ ReadyToBootCallback (
DEBUG ((DEBUG_ERROR, "OpalBlockSid fail\n"));
break;
}
}
Itr = Itr->Next;
Count++;
}
}
}