mirror of https://github.com/acidanthera/audk.git
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 <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
This commit is contained in:
parent
0cd7542a69
commit
e3aba976f6
|
@ -2,6 +2,7 @@
|
||||||
The common code of EDKII Redfish Configuration Handler driver.
|
The common code of EDKII Redfish Configuration Handler driver.
|
||||||
|
|
||||||
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
||||||
|
Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||||
|
|
||||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@ -9,7 +10,7 @@
|
||||||
|
|
||||||
#include "RedfishConfigHandlerCommon.h"
|
#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
|
// on platform for the BIOS
|
||||||
// Redfish configuration.
|
// Redfish configuration.
|
||||||
EFI_EVENT gEndOfDxeEvent = NULL;
|
EFI_EVENT gEndOfDxeEvent = NULL;
|
||||||
|
@ -34,7 +35,7 @@ RedfishConfigOnEndOfDxe (
|
||||||
|
|
||||||
Status = gCredential->StopService (gCredential, ServiceStopTypeSecureBootDisabled);
|
Status = gCredential->StopService (gCredential, ServiceStopTypeSecureBootDisabled);
|
||||||
if (EFI_ERROR (Status) && (Status != EFI_UNSUPPORTED)) {
|
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);
|
Status = gCredential->StopService (gCredential, ServiceStopTypeExitBootService);
|
||||||
if (EFI_ERROR (Status) && (Status != EFI_UNSUPPORTED)) {
|
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;
|
UINTN NumberOfHandles;
|
||||||
EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *ConfigHandler;
|
EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *ConfigHandler;
|
||||||
UINTN Index;
|
UINTN Index;
|
||||||
UINT32 Id;
|
UINT32 *Id;
|
||||||
|
|
||||||
Status = gBS->LocateHandleBuffer (
|
Status = gBS->LocateHandleBuffer (
|
||||||
ByProtocol,
|
ByProtocol,
|
||||||
|
@ -257,6 +258,7 @@ RedfishConfigHandlerInitialization (
|
||||||
Status = ConfigHandler->Init (ConfigHandler, &gRedfishConfigData.RedfishServiceInfo);
|
Status = ConfigHandler->Init (ConfigHandler, &gRedfishConfigData.RedfishServiceInfo);
|
||||||
if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {
|
if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {
|
||||||
DEBUG ((DEBUG_ERROR, "ERROR: Failed to init Redfish config handler %p.\n", ConfigHandler));
|
DEBUG ((DEBUG_ERROR, "ERROR: Failed to init Redfish config handler %p.\n", ConfigHandler));
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
||||||
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
||||||
|
# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
#
|
#
|
||||||
|
@ -56,5 +57,4 @@
|
||||||
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
|
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
TRUE
|
gEdkIIRedfishCredentialProtocolGuid
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue