summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Universal/Capsule
diff options
context:
space:
mode:
authordtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-02 07:24:49 +0000
committerdtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-02 07:24:49 +0000
commitd73196f3298bebecfa6c81b25e7548d188e08c56 (patch)
treeba81df122cb15dc514d5907f670a3473972ca37b /EdkModulePkg/Universal/Capsule
parent1723b2e2b2c1e50c9910f2043bb3f349bdcc45e6 (diff)
downloadedk2-d73196f3298bebecfa6c81b25e7548d188e08c56.zip
edk2-d73196f3298bebecfa6c81b25e7548d188e08c56.tar.gz
edk2-d73196f3298bebecfa6c81b25e7548d188e08c56.tar.bz2
Bug fix for "CapsuleUpdate does not handle memory lost correctly"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1886 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg/Universal/Capsule')
-rw-r--r--EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c b/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c
index e07cbc8..9f4fe3c 100644
--- a/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c
+++ b/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c
@@ -75,11 +75,11 @@ Returns:
//
for (ArrayNumber = 0; ArrayNumber < CapsuleCount; ArrayNumber++) {
CapsuleHeader = CapsuleHeaderArray[ArrayNumber];
- if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) && !(CapsuleHeader->Flags & CAPSULE_FLAGS_PERSIST_ACROSS_RESET)) {
+ if ((CapsuleHeader->Flags & (CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) == CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) {
return EFI_INVALID_PARAMETER;
}
if (!CompareGuid (&CapsuleHeader->CapsuleGuid, &mEfiCapsuleHeaderGuid)) {
- if (!(CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) {
+ if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {
return EFI_UNSUPPORTED;
}
}
@@ -206,11 +206,11 @@ Returns:
//
for (ArrayNumber = 0; ArrayNumber < CapsuleCount; ArrayNumber++) {
CapsuleHeader = CapsuleHeaderArray[ArrayNumber];
- if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) && !(CapsuleHeader->Flags & CAPSULE_FLAGS_PERSIST_ACROSS_RESET)) {
+ if ((CapsuleHeader->Flags & (CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) == CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) {
return EFI_INVALID_PARAMETER;
}
if (!CompareGuid (&CapsuleHeader->CapsuleGuid, &mEfiCapsuleHeaderGuid)) {
- if (!(CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) {
+ if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {
return EFI_UNSUPPORTED;
}
}