On Fri, 23 Jul 2021 at 18:43, Pete Batard <p...@akeo.ie> wrote: > > Hi Sunny, > > Good catch for both these issues. Thanks for fixing them. > > With this: > > On 2021.07.23 10:04, Sunny Wang wrote: > > This patch fixes two issues below: > > 1. SCT SetTime_Func failures. > > - https://github.com/pftf/RPi4/issues/164 > > 2. Using shell time and date commands to set time can't work. > > > > The problem is that gRT->SetTime always returns EFI_INVALID_PARAMETER > > error status. > > > > The root cause is that LibSetTime() sets RtcEpochSeconds variable with > > inconsistent attributes. One is without EFI_VARIABLE_NON_VOLATILE, > > the other one is with EFI_VARIABLE_NON_VOLATILE. That caused that the > > variable driver returns EFI_INVALID_PARAMETER. Per UEFI spec, if a > > preexisting variable is rewritten with different attributes, > > SetVariable() shall not modify the variable and shall return > > EFI_INVALID_PARAMETER. > > > > Therefore, the solution is to add EFI_VARIABLE_NON_VOLATILE attribute > > to the first EfiSetVariable() call to make two calls consistent. > > > > By the way, this patch also fix a minor issue with a debug message. > > > > Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahm...@arm.com> > > Cc: Sami Mujawar <sami.muja...@arm.com> > > Cc: Jeremy Linton <jeremy.lin...@arm.com> > > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > > Cc: Pete Batard <p...@akeo.ie> > > Cc: Leif Lindholm <l...@nuviainc.com> > > > > Signed-off-by: Sunny Wang <sunny.w...@arm.com> > > --- > > .../VirtualRealTimeClockLib/VirtualRealTimeClockLib.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git > > a/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c > > b/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c > > index de6fbb40e6..c10c91bc75 100644 > > --- a/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c > > +++ b/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c > > @@ -4,7 +4,7 @@ > > * > > * Coypright (c) 2019, Pete Batard <p...@akeo.ie> > > * Copyright (c) 2018, Andrei Warkentin <andrey.warken...@gmail.com> > > - * Copyright (c) 2011-2014, ARM Ltd. All rights reserved. > > + * Copyright (c) 2011-2021, ARM Ltd. All rights reserved. > > * Copyright (c) 2008-2010, Apple Inc. All rights reserved. > > * Copyright (c) Microsoft Corporation. All rights reserved. > > * > > @@ -96,7 +96,7 @@ LibGetTime ( > > EfiSetVariable ( > > (CHAR16 *)mEpochVariableName, > > &gEfiCallerIdGuid, > > - EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, > > + EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | > > EFI_VARIABLE_RUNTIME_ACCESS, > > sizeof (EpochSeconds), > > &EpochSeconds > > ); > > @@ -324,7 +324,7 @@ LibSetTime ( > > DEBUG (( > > DEBUG_ERROR, > > "LibSetTime: Failed to save %s variable to non-volatile storage, > > Status = %r\n", > > - mDaylightVariableName, > > + mEpochVariableName, > > Status > > )); > > return Status; > > > > Reviewed-by: Pete Batard <p...@akeo.ie> > Tested-by: Pete Batard <p...@akeo.ie>
Merged, thanks, -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78364): https://edk2.groups.io/g/devel/message/78364 Mute This Topic: https://groups.io/mt/84397263/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-