From e3aba976f6d588abd88027fef46999a1d3724576 Mon Sep 17 00:00:00 2001 From: Nickle Wang Date: Mon, 27 Mar 2023 22:34:43 +0800 Subject: RedfishPkg: fix config handler driver issues Bug fix: - function stack fault - config handler driver requires the dependency of Redfish Credential Protocol - incorrect caller id installation when failed to perform init() - fix typo Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy Cc: Nick Ramirez Reviewed-by: Abner Chang --- RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerCommon.c | 10 ++++++---- RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerDriver.inf | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'RedfishPkg') diff --git a/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerCommon.c b/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerCommon.c index c3a7efd796..96aac125ee 100644 --- a/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerCommon.c +++ b/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerCommon.c @@ -2,6 +2,7 @@ The common code of EDKII Redfish Configuration Handler driver. (C) Copyright 2021 Hewlett Packard Enterprise Development LP
+ Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -9,7 +10,7 @@ #include "RedfishConfigHandlerCommon.h" -REDFISH_CONFIG_DRIVER_DATA gRedfishConfigData; // Only one Redfish service supproted +REDFISH_CONFIG_DRIVER_DATA gRedfishConfigData; // Only one Redfish service supported // on platform for the BIOS // Redfish configuration. EFI_EVENT gEndOfDxeEvent = NULL; @@ -34,7 +35,7 @@ RedfishConfigOnEndOfDxe ( Status = gCredential->StopService (gCredential, ServiceStopTypeSecureBootDisabled); if (EFI_ERROR (Status) && (Status != EFI_UNSUPPORTED)) { - DEBUG ((DEBUG_ERROR, "Redfish credential protocol faied to stop service on EndOfDxe: %r", Status)); + DEBUG ((DEBUG_ERROR, "Redfish credential protocol failed to stop service on EndOfDxe: %r", Status)); } // @@ -62,7 +63,7 @@ RedfishConfigOnExitBootService ( Status = gCredential->StopService (gCredential, ServiceStopTypeExitBootService); if (EFI_ERROR (Status) && (Status != EFI_UNSUPPORTED)) { - DEBUG ((DEBUG_ERROR, "Redfish credential protocol faied to stop service on ExitBootService: %r", Status)); + DEBUG ((DEBUG_ERROR, "Redfish credential protocol failed to stop service on ExitBootService: %r", Status)); } } @@ -225,7 +226,7 @@ RedfishConfigHandlerInitialization ( UINTN NumberOfHandles; EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *ConfigHandler; UINTN Index; - UINT32 Id; + UINT32 *Id; Status = gBS->LocateHandleBuffer ( ByProtocol, @@ -257,6 +258,7 @@ RedfishConfigHandlerInitialization ( Status = ConfigHandler->Init (ConfigHandler, &gRedfishConfigData.RedfishServiceInfo); if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) { DEBUG ((DEBUG_ERROR, "ERROR: Failed to init Redfish config handler %p.\n", ConfigHandler)); + continue; } // diff --git a/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerDriver.inf b/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerDriver.inf index def91c7531..b167c6e1ee 100644 --- a/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerDriver.inf +++ b/RedfishPkg/RedfishConfigHandler/RedfishConfigHandlerDriver.inf @@ -4,6 +4,7 @@ # # Copyright (c) 2019, Intel Corporation. All rights reserved.
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -56,5 +57,4 @@ gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event [Depex] - TRUE - + gEdkIIRedfishCredentialProtocolGuid -- cgit v1.2.3