MdeModulePkg/CapsuleLib: Fix runtime issue

The previous patch has problem on handling capsule
request at runtime.

This patch fixed the issue.

Cc: Chao Zhang <chao.b.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
Jiewen Yao 2017-03-15 13:12:33 +08:00
parent 08bed3fbac
commit 056563f1bb
1 changed files with 32 additions and 21 deletions

View File

@ -1453,7 +1453,17 @@ IsNestedFmpCapsule (
EFI_SYSTEM_RESOURCE_ENTRY Entry; EFI_SYSTEM_RESOURCE_ENTRY Entry;
EsrtGuidFound = FALSE; EsrtGuidFound = FALSE;
if (mIsVirtualAddrConverted) {
if(mEsrtTable != NULL) {
EsrtEntry = (EFI_SYSTEM_RESOURCE_ENTRY *)(mEsrtTable + 1);
for (Index = 0; Index < mEsrtTable->FwResourceCount ; Index++, EsrtEntry++) {
if (CompareGuid(&EsrtEntry->FwClass, &CapsuleHeader->CapsuleGuid)) {
EsrtGuidFound = TRUE;
break;
}
}
}
} else {
// //
// Check ESRT protocol // Check ESRT protocol
// //
@ -1481,6 +1491,7 @@ IsNestedFmpCapsule (
} }
} }
} }
}
if (!EsrtGuidFound) { if (!EsrtGuidFound) {
return FALSE; return FALSE;
} }