summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNickle Wang <nicklew@nvidia.com>2023-02-01 10:26:45 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-02-06 15:11:28 +0000
commitaea8a9c954a79029ded443eadf7c92716c1753cc (patch)
tree551d2c9d75de836562644ac9a43f4ec98ea881dd
parentb98e2113b53fa9c7474a820bcd94fffb352acdf6 (diff)
downloadedk2-aea8a9c954a79029ded443eadf7c92716c1753cc.tar.gz
edk2-aea8a9c954a79029ded443eadf7c92716c1753cc.tar.bz2
edk2-aea8a9c954a79029ded443eadf7c92716c1753cc.zip
RedfishPkg: fix multiple SMBIOS type 42 version issue
RedfishHostInterfaceDxe does not close protocol notify event in event callback function. This could cause multiple version of type 42 records issue if the protocol is installed more than once. Close the event in callback function so we only create one type 42 record. 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>
-rw-r--r--RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
index 3e12e0c8b9..872cf3ae06 100644
--- a/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
+++ b/RedfishPkg/RedfishHostInterfaceDxe/RedfishHostInterfaceDxe.c
@@ -7,6 +7,7 @@
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
+ Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -260,6 +261,13 @@ PlatformHostInterfaceInformationReady (
DEBUG ((DEBUG_INFO, "%a: Platform Redfish Host Interface informtion is ready\n", __FUNCTION__));
RedfishCreateSmbiosTable42 ();
+
+ //
+ // Close event so we don't create multiple type 42 records
+ //
+ gBS->CloseEvent (Event);
+ mPlatformHostInterfaceReadylEvent = NULL;
+
return;
}