REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1525

In the 4 Setxxx() functions, do not update FmpControllerState
contents unless Update is TRUE.  This does not change any
behavior, but it does make the logic easier to understand.

Cc: Sean Brogan <[email protected]>
Cc: Bret Barkelew <[email protected]>
Cc: Liming Gao <[email protected]>
Signed-off-by: Michael D Kinney <[email protected]>
Reviewed-by: Eric Jin <[email protected]>
---
 FmpDevicePkg/FmpDxe/VariableSupport.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/FmpDevicePkg/FmpDxe/VariableSupport.c 
b/FmpDevicePkg/FmpDxe/VariableSupport.c
index 414a077ab2..a2deff94a5 100644
--- a/FmpDevicePkg/FmpDxe/VariableSupport.c
+++ b/FmpDevicePkg/FmpDxe/VariableSupport.c
@@ -498,11 +498,11 @@ SetVersionInVariable (
   if (FmpControllerState->Version != Version) {
     Update = TRUE;
   }
-  FmpControllerState->VersionValid = TRUE;
-  FmpControllerState->Version      = Version;
   if (!Update) {
     DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state.  Same 
value as before.\n", mImageIdName));
   } else {
+    FmpControllerState->VersionValid = TRUE;
+    FmpControllerState->Version      = Version;
     Status = gRT->SetVariable (
                     Private->FmpStateVariableName,
                     &gEfiCallerIdGuid,
@@ -561,11 +561,11 @@ SetLowestSupportedVersionInVariable (
   if (FmpControllerState->Lsv < LowestSupportedVersion) {
     Update = TRUE;
   }
-  FmpControllerState->LsvValid = TRUE;
-  FmpControllerState->Lsv      = LowestSupportedVersion;
   if (!Update) {
     DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state.  Same 
value as before.\n", mImageIdName));
   } else {
+    FmpControllerState->LsvValid = TRUE;
+    FmpControllerState->Lsv      = LowestSupportedVersion;
     Status = gRT->SetVariable (
                     Private->FmpStateVariableName,
                     &gEfiCallerIdGuid,
@@ -624,11 +624,11 @@ SetLastAttemptStatusInVariable (
   if (FmpControllerState->LastAttemptStatus != LastAttemptStatus) {
     Update = TRUE;
   }
-  FmpControllerState->LastAttemptStatusValid = TRUE;
-  FmpControllerState->LastAttemptStatus      = LastAttemptStatus;
   if (!Update) {
     DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state.  Same 
value as before.\n", mImageIdName));
   } else {
+    FmpControllerState->LastAttemptStatusValid = TRUE;
+    FmpControllerState->LastAttemptStatus      = LastAttemptStatus;
     Status = gRT->SetVariable (
                     Private->FmpStateVariableName,
                     &gEfiCallerIdGuid,
@@ -687,11 +687,11 @@ SetLastAttemptVersionInVariable (
   if (FmpControllerState->LastAttemptVersion != LastAttemptVersion) {
     Update = TRUE;
   }
-  FmpControllerState->LastAttemptVersionValid = TRUE;
-  FmpControllerState->LastAttemptVersion      = LastAttemptVersion;
   if (!Update) {
     DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state.  Same 
value as before.\n", mImageIdName));
   } else {
+    FmpControllerState->LastAttemptVersionValid = TRUE;
+    FmpControllerState->LastAttemptVersion      = LastAttemptVersion;
     Status = gRT->SetVariable (
                     Private->FmpStateVariableName,
                     &gEfiCallerIdGuid,
-- 
2.20.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44764): https://edk2.groups.io/g/devel/message/44764
Mute This Topic: https://groups.io/mt/32676858/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to