From b233eb1849ac01bdd5b24ea84460a2e481a4c5a9 Mon Sep 17 00:00:00 2001 From: Marcin Wojtas Date: Mon, 24 May 2021 05:54:41 +0200 Subject: EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime GetWakeupTime should return full time information, including the daylight/timezone. Make use of the existing non-volatile variables for that purpose. Moreover add an error checking of possibly invalid parameters. This partially fixes FWTS and SCT Set/GetWakeupTime tests on Marvell platforms. Signed-off-by: Marcin Wojtas Reviewed-by: Ard Biesheuvel --- EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c') diff --git a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c index e59036badc..85650a6ede 100644 --- a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c +++ b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c @@ -143,6 +143,17 @@ GetWakeupTime ( OUT EFI_TIME *Time ) { + if (Time == NULL || Enabled == NULL || Pending == NULL) { + return EFI_INVALID_PARAMETER; + } + + // + // Set these first so the RealTimeClockLib implementation + // can override them based on its own settings. + // + Time->TimeZone = mTimeSettings.TimeZone; + Time->Daylight = mTimeSettings.Daylight; + return LibGetWakeupTime (Enabled, Pending, Time); } -- cgit v1.2.3