diff options
author | Jiewen Yao <jiewen.yao@intel.com> | 2016-12-24 00:00:51 +0800 |
---|---|---|
committer | Jiewen Yao <jiewen.yao@intel.com> | 2016-12-26 12:23:33 +0800 |
commit | 777034ce83a8ee4a13cda7c45524933459237595 (patch) | |
tree | e55abe7be4e9b52f6bea49045f1e6c7fe5dfe970 /MdeModulePkg/Library | |
parent | 8f6db16134b60721af3eed53ef5705dca452d128 (diff) | |
download | edk2-platforms-777034ce83a8ee4a13cda7c45524933459237595.tar.xz |
MdeModulePkg/CapsuleLib: Support result rolling over.
According to UEFI spec, capsule result variable may roll over to 0.
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
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: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/Library')
-rw-r--r-- | MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c index 61ede5cfa9..ce79a5a619 100644 --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c @@ -167,7 +167,7 @@ WriteNewCapsuleResultVariableCache ( Get a new capsule status variable index.
@return A new capsule status variable index.
- @retval -1 No new capsule status variable index.
+ @retval 0 No new capsule status variable index. Rolling over.
**/
INTN
GetNewCapsuleResultIndex (
@@ -178,7 +178,8 @@ GetNewCapsuleResultIndex ( CurrentIndex = GetCurrentCapsuleLastIndex();
if (CurrentIndex >= PcdGet16(PcdCapsuleMax)) {
- return -1;
+ DEBUG((DEBUG_INFO, " CapsuleResult variable Rolling Over!\n"));
+ return 0;
}
return CurrentIndex + 1;
@@ -206,9 +207,7 @@ WriteNewCapsuleResultVariable ( CapsuleResultIndex = GetNewCapsuleResultIndex();
DEBUG((DEBUG_INFO, "New CapsuleResultIndex - 0x%x\n", CapsuleResultIndex));
- if (CapsuleResultIndex == -1) {
- return EFI_OUT_OF_RESOURCES;
- }
+
UnicodeSPrint(
CapsuleResultStr,
sizeof(CapsuleResultStr),
|