From: "Chang, Abner via groups.io" <abner.chang=amd.com@groups.io>
To: Nickle Wang <nicklew@nvidia.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: Igor Kulchytskyy <igork@ami.com>, Nick Ramirez <nramirez@nvidia.com>
Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH 5/6] RedfishClientPkg/Features: fix NULL cached handler issue.
Date: Tue, 28 Nov 2023 05:16:44 +0000 [thread overview]
Message-ID: <MN2PR12MB396663AF0F0DC3704EECAF1EEABCA@MN2PR12MB3966.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20231123143419.3612-1-nicklew@nvidia.com>
[AMD Official Use Only - General]
Reviewed-by: Abner Chang <abner.chang@amd.com>
> -----Original Message-----
> From: Nickle Wang <nicklew@nvidia.com>
> Sent: Thursday, November 23, 2023 10:34 PM
> To: devel@edk2.groups.io
> Cc: Chang, Abner <Abner.Chang@amd.com>; Igor Kulchytskyy
> <igork@ami.com>; Nick Ramirez <nramirez@nvidia.com>
> Subject: [edk2-redfish-client][PATCH 5/6] RedfishClientPkg/Features: fix NULL
> cached handler issue.
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> EdkIIRedfishResourceSetConfigureLang() uses cached handler to
> locate protocol. However, if EdkIIRedfishResourceSetConfigureLang()
> is called at non-collection driver, the cached handler is NULL because
> cached handler is initialized by collection driver. Since
> EdkIIRedfishResourceSetConfigureLang() is in library, the cached handler
> is not shared in different drivers. Fix this issue by getting image
> handler from caller.
>
> 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>
> ---
> .../Library/EdkIIRedfishResourceConfigLib.h | 9 ++++++---
> .../Features/Bios/v1_0_9/Common/BiosCommon.c | 9 +++++----
> .../Features/Bios/v1_0_9/Dxe/BiosDxe.c | 3 +--
> .../v1_5_0/Common/ComputerSystemCommon.c | 8 +++++---
> .../v1_5_0/Dxe/ComputerSystemDxe.c | 3 +--
> .../ComputerSystemCollectionDxe.c | 5 +++--
> .../Memory/V1_7_1/Common/MemoryCommon.c | 8 +++++---
> .../Features/Memory/V1_7_1/Dxe/MemoryDxe.c | 3 +--
> .../MemoryCollectionDxe/MemoryCollectionDxe.c | 5 +++--
> .../EdkIIRedfishResourceConfigLib.c | 18 ++++++++++++++----
> 10 files changed, 44 insertions(+), 27 deletions(-)
>
> diff --git a/RedfishClientPkg/Include/Library/EdkIIRedfishResourceConfigLib.h
> b/RedfishClientPkg/Include/Library/EdkIIRedfishResourceConfigLib.h
> index a7856033..c8c9cb86 100644
> --- a/RedfishClientPkg/Include/Library/EdkIIRedfishResourceConfigLib.h
> +++ b/RedfishClientPkg/Include/Library/EdkIIRedfishResourceConfigLib.h
> @@ -2,6 +2,7 @@
> This file defines the EDKII resource config Library interface.
>
> (C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR>
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -18,7 +19,7 @@
> #include <Protocol/EdkIIRedfishInterchangeData.h>
>
> /**
> - Provising redfish resource by given URI.
> + Provisioning redfish resource by given URI.
>
> @param[in] Schema Redfish schema information.
> @param[in] Uri Target URI to create resource.
> @@ -32,7 +33,7 @@
>
> **/
> EFI_STATUS
> -EdkIIRedfishResourceConfigProvisionging (
> +EdkIIRedfishResourceConfigProvisioning (
> IN REDFISH_SCHEMA_INFO *Schema,
> IN EFI_STRING Uri,
> IN RESOURCE_INFORMATION_EXCHANGE *InformationExchange,
> @@ -109,6 +110,7 @@ EdkIIRedfishResourceConfigIdentify (
> Set Configure language of this resource in the
> RESOURCE_INFORMATION_EXCHANGE structure.
>
> + @param[in] ImageHandle Pointer to image handle.
> @param[in] ConfigLangList Pointer to
> REDFISH_FEATURE_ARRAY_TYPE_CONFIG_LANG_LIST.
>
> @retval EFI_SUCCESS Configure language is set.
> @@ -118,7 +120,8 @@ EdkIIRedfishResourceConfigIdentify (
> **/
> EFI_STATUS
> EdkIIRedfishResourceSetConfigureLang (
> - REDFISH_FEATURE_ARRAY_TYPE_CONFIG_LANG_LIST *ConfigLangList
> + IN EFI_HANDLE ImageHandle,
> + IN REDFISH_FEATURE_ARRAY_TYPE_CONFIG_LANG_LIST *ConfigLangList
> );
>
> /**
> diff --git a/RedfishClientPkg/Features/Bios/v1_0_9/Common/BiosCommon.c
> b/RedfishClientPkg/Features/Bios/v1_0_9/Common/BiosCommon.c
> index 98288d66..ea274018 100644
> --- a/RedfishClientPkg/Features/Bios/v1_0_9/Common/BiosCommon.c
> +++ b/RedfishClientPkg/Features/Bios/v1_0_9/Common/BiosCommon.c
> @@ -12,7 +12,8 @@
>
> CHAR8 BiosEmptyJson[] = "{\"@odata.id\": \"\", \"@odata.type\":
> \"#Bios.v1_0_9.Bios\", \"Id\": \"\", \"Name\": \"\", \"Attributes\":{}}";
>
> -REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate =
> NULL;
> +REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate
> = NULL;
> +EFI_HANDLE mRedfishResourceConfigProtocolHandle = NULL;
>
> /**
> Consume resource from given URI.
> @@ -385,7 +386,7 @@ ProvisioningBiosResources (
> // Set the configuration language in the
> RESOURCE_INFORMATION_EXCHANGE.
> // This information is sent back to the parent resource (e.g. the collection
> driver).
> //
> - EdkIIRedfishResourceSetConfigureLang (&UnifiedConfigureLangList);
> + EdkIIRedfishResourceSetConfigureLang
> (mRedfishResourceConfigProtocolHandle, &UnifiedConfigureLangList);
>
> for (Index = 0; Index < UnifiedConfigureLangList.Count; Index++) {
> DEBUG ((DEBUG_MANAGEABILITY, "[%d] create Bios resource from: %s\n",
> UnifiedConfigureLangList.List[Index].Index,
> UnifiedConfigureLangList.List[Index].ConfigureLang));
> @@ -750,7 +751,7 @@ RedfishIdentifyResourceCommon (
> // Set the configuration language in the
> RESOURCE_INFORMATION_EXCHANGE.
> // This information is sent back to the parent resource (e.g. the collection
> driver).
> //
> - EdkIIRedfishResourceSetConfigureLang (&ConfigLangList);
> + EdkIIRedfishResourceSetConfigureLang
> (mRedfishResourceConfigProtocolHandle, &ConfigLangList);
> DestroyConfiglanguageList (&ConfigLangList);
> return EFI_SUCCESS;
> }
> @@ -817,7 +818,7 @@ HandleResource (
> // The target property does not exist, do the provision to create property.
> //
> DEBUG ((REDFISH_DEBUG_TRACE, "%a provision for %s\n", __func__, Uri));
> - Status = EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Uri,
> Private->InformationExchange, FALSE);
> + Status = EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Uri,
> Private->InformationExchange, FALSE);
> if (EFI_ERROR (Status)) {
> DEBUG ((DEBUG_ERROR, "%a, failed to provision with GET mode: %r\n",
> __func__, Status));
> }
> diff --git a/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c
> b/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c
> index 9b336d3d..8b9bdc31 100644
> --- a/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c
> +++ b/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c
> @@ -11,6 +11,7 @@
> #include "../Common/BiosCommon.h"
>
> extern REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate;
> +extern EFI_HANDLE mRedfishResourceConfigProtocolHandle;
>
> EFI_STATUS
> HandleResource (
> @@ -18,8 +19,6 @@ HandleResource (
> IN EFI_STRING Uri
> );
>
> -EFI_HANDLE mRedfishResourceConfigProtocolHandle;
> -
> /**
> Provisioning redfish resource by given URI.
>
> diff --git
> a/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Common/Computer
> SystemCommon.c
> b/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Common/Computer
> SystemCommon.c
> index 1ffb7d1d..78beb5cb 100644
> ---
> a/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Common/Computer
> SystemCommon.c
> +++
> b/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Common/Computer
> SystemCommon.c
> @@ -2,6 +2,7 @@
> Redfish feature driver implementation - common functions
>
> (C) Copyright 2020-2022 Hewlett Packard Enterprise Development LP<BR>
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -11,7 +12,8 @@
>
> CHAR8 ComputerSystemEmptyJson[] = "{\"@odata.id\": \"\",
> \"@odata.type\": \"#ComputerSystem.v1_5_0.ComputerSystem\", \"Id\":
> \"\", \"Name\": \"\", \"Boot\":{}}";
>
> -REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate =
> NULL;
> +REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate
> = NULL;
> +EFI_HANDLE mRedfishResourceConfigProtocolHandle = NULL;
>
> /**
> Consume resource from given URI.
> @@ -1321,7 +1323,7 @@ ProvisioningComputerSystemResources (
> // Set the configuration language in the
> RESOURCE_INFORMATION_EXCHANGE.
> // This information is sent back to the parent resource (e.g. the collection
> driver).
> //
> - EdkIIRedfishResourceSetConfigureLang (&UnifiedConfigureLangList);
> + EdkIIRedfishResourceSetConfigureLang
> (mRedfishResourceConfigProtocolHandle, &UnifiedConfigureLangList);
>
> for (Index = 0; Index < UnifiedConfigureLangList.Count; Index++) {
> DEBUG ((DEBUG_MANAGEABILITY, "[%d] create ComputerSystem resource
> from: %s\n", UnifiedConfigureLangList.List[Index].Index,
> UnifiedConfigureLangList.List[Index].ConfigureLang));
> @@ -1626,7 +1628,7 @@ RedfishIdentifyResourceCommon (
> // Set the configuration language in the
> RESOURCE_INFORMATION_EXCHANGE.
> // This information is sent back to the parent resource (e.g. the collection
> driver).
> //
> - EdkIIRedfishResourceSetConfigureLang (&ConfigLangList);
> + EdkIIRedfishResourceSetConfigureLang
> (mRedfishResourceConfigProtocolHandle, &ConfigLangList);
> DestroyConfiglanguageList (&ConfigLangList);
> return EFI_SUCCESS;
> }
> diff --git
> a/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSyste
> mDxe.c
> b/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSyste
> mDxe.c
> index 5c2a4ead..4ee72eeb 100644
> ---
> a/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSyste
> mDxe.c
> +++
> b/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSyste
> mDxe.c
> @@ -11,8 +11,7 @@
> #include "../Common/ComputerSystemCommon.h"
>
> extern REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate;
> -
> -EFI_HANDLE mRedfishResourceConfigProtocolHandle;
> +extern EFI_HANDLE mRedfishResourceConfigProtocolHandle;
>
> /**
> Provisioning redfish resource by given URI.
> diff --git
> a/RedfishClientPkg/Features/ComputerSystemCollectionDxe/ComputerSyste
> mCollectionDxe.c
> b/RedfishClientPkg/Features/ComputerSystemCollectionDxe/ComputerSyste
> mCollectionDxe.c
> index 1e362d49..5c6850c9 100644
> ---
> a/RedfishClientPkg/Features/ComputerSystemCollectionDxe/ComputerSyste
> mCollectionDxe.c
> +++
> b/RedfishClientPkg/Features/ComputerSystemCollectionDxe/ComputerSyste
> mCollectionDxe.c
> @@ -3,6 +3,7 @@
> Redfish feature driver implementation - ComputerSystemCollection
>
> (C) Copyright 2020-2022 Hewlett Packard Enterprise Development LP<BR>
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -95,7 +96,7 @@ HandleResource (
> // The target property does not exist, do the provision to create property.
> //
> DEBUG ((REDFISH_DEBUG_TRACE, "%a provision for %s\n", __func__, Uri));
> - Status = EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Uri,
> Private->InformationExchange, FALSE);
> + Status = EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Uri,
> Private->InformationExchange, FALSE);
> if (EFI_ERROR (Status)) {
> DEBUG ((DEBUG_ERROR, "%a, failed to provision with GET mode: %r\n",
> __func__, Status));
> }
> @@ -226,7 +227,7 @@ CreateCollectionResource (
>
> DEBUG ((REDFISH_DEBUG_TRACE, "%a, supported schema: %a
> %a.%a.%a\n", __func__, SchemaInfo.Schema, SchemaInfo.Major,
> SchemaInfo.Minor, SchemaInfo.Errata));
>
> - Status = EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Private-
> >CollectionUri, Private->InformationExchange, TRUE);
> + Status = EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Private-
> >CollectionUri, Private->InformationExchange, TRUE);
> if (EFI_ERROR (Status)) {
> DEBUG ((DEBUG_ERROR, "%a, failed to create resource for: %s: %r\n",
> __func__, Private->CollectionUri, Status));
> }
> diff --git
> a/RedfishClientPkg/Features/Memory/V1_7_1/Common/MemoryCommon.c
> b/RedfishClientPkg/Features/Memory/V1_7_1/Common/MemoryCommon.
> c
> index 4c41f16b..44325ddb 100644
> ---
> a/RedfishClientPkg/Features/Memory/V1_7_1/Common/MemoryCommon.c
> +++
> b/RedfishClientPkg/Features/Memory/V1_7_1/Common/MemoryCommon.
> c
> @@ -2,6 +2,7 @@
> Redfish feature driver implementation - common functions
>
> (C) Copyright 2020-2022 Hewlett Packard Enterprise Development LP<BR>
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -11,7 +12,8 @@
>
> CHAR8 MemoryEmptyJson[] = "{\"@odata.id\": \"\", \"@odata.type\":
> \"#Memory.v1_7_1.Memory\", \"Id\": \"\", \"Name\": \"\"}";
>
> -REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate =
> NULL;
> +REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate
> = NULL;
> +EFI_HANDLE mRedfishResourceConfigProtocolHandle = NULL;
>
> /**
> Consume resource from given URI.
> @@ -2237,7 +2239,7 @@ ProvisioningMemoryResources (
> // Set the configuration language in the
> RESOURCE_INFORMATION_EXCHANGE.
> // This information is sent back to the parent resource (e.g. the collection
> driver).
> //
> - EdkIIRedfishResourceSetConfigureLang (&UnifiedConfigureLangList);
> + EdkIIRedfishResourceSetConfigureLang
> (mRedfishResourceConfigProtocolHandle, &UnifiedConfigureLangList);
>
> for (Index = 0; Index < UnifiedConfigureLangList.Count; Index++) {
> DEBUG ((DEBUG_MANAGEABILITY, "[%d] create Memory resource from:
> %s\n", UnifiedConfigureLangList.List[Index].Index,
> UnifiedConfigureLangList.List[Index].ConfigureLang));
> @@ -2542,7 +2544,7 @@ RedfishIdentifyResourceCommon (
> // Set the configuration language in the
> RESOURCE_INFORMATION_EXCHANGE.
> // This information is sent back to the parent resource (e.g. the collection
> driver).
> //
> - EdkIIRedfishResourceSetConfigureLang (&ConfigLangList);
> + EdkIIRedfishResourceSetConfigureLang
> (mRedfishResourceConfigProtocolHandle, &ConfigLangList);
> DestroyConfiglanguageList (&ConfigLangList);
> return EFI_SUCCESS;
> }
> diff --git a/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c
> b/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c
> index f34f3266..80bfd6d2 100644
> --- a/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c
> +++ b/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c
> @@ -11,8 +11,7 @@
> #include "../Common/MemoryCommon.h"
>
> extern REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate;
> -
> -EFI_HANDLE mRedfishResourceConfigProtocolHandle;
> +extern EFI_HANDLE mRedfishResourceConfigProtocolHandle;
>
> /**
> Provisioning redfish resource by given URI.
> diff --git
> a/RedfishClientPkg/Features/MemoryCollectionDxe/MemoryCollectionDxe.c
> b/RedfishClientPkg/Features/MemoryCollectionDxe/MemoryCollectionDxe.c
> index 1b755cde..dc1ee5ca 100644
> ---
> a/RedfishClientPkg/Features/MemoryCollectionDxe/MemoryCollectionDxe.c
> +++
> b/RedfishClientPkg/Features/MemoryCollectionDxe/MemoryCollectionDxe.c
> @@ -3,6 +3,7 @@
> Redfish feature driver implementation - MemoryCollection
>
> (C) Copyright 2020-2022 Hewlett Packard Enterprise Development LP<BR>
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights
> reserved.
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -95,7 +96,7 @@ HandleResource (
> // The target property does not exist, do the provision to create property.
> //
> DEBUG ((REDFISH_DEBUG_TRACE, "%a provision for %s\n", __func__, Uri));
> - Status = EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Uri,
> Private->InformationExchange, FALSE);
> + Status = EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Uri,
> Private->InformationExchange, FALSE);
> if (EFI_ERROR (Status)) {
> DEBUG ((DEBUG_ERROR, "%a, failed to provision with GET mode: %r\n",
> __func__, Status));
> }
> @@ -226,7 +227,7 @@ CreateCollectionResource (
>
> DEBUG ((REDFISH_DEBUG_TRACE, "%a, supported schema: %a
> %a.%a.%a\n", __func__, SchemaInfo.Schema, SchemaInfo.Major,
> SchemaInfo.Minor, SchemaInfo.Errata));
>
> - Status = EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Private-
> >CollectionUri, Private->InformationExchange, TRUE);
> + Status = EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Private-
> >CollectionUri, Private->InformationExchange, TRUE);
> if (EFI_ERROR (Status)) {
> DEBUG ((DEBUG_ERROR, "%a, failed to create resource for: %s: %r\n",
> __func__, Private->CollectionUri, Status));
> }
> diff --git
> a/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishReso
> urceConfigLib.c
> b/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishReso
> urceConfigLib.c
> index ce86ce70..7a7bb4de 100644
> ---
> a/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishReso
> urceConfigLib.c
> +++
> b/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishReso
> urceConfigLib.c
> @@ -363,6 +363,7 @@ InstallInterchangeDataProtocol (
> Set Configure language of this resource in the
> RESOURCE_INFORMATION_EXCHANGE structure.
>
> + @param[in] ImageHandle Pointer to image handle.
> @param[in] ConfigLangList Pointer to
> REDFISH_FEATURE_ARRAY_TYPE_CONFIG_LANG_LIST.
>
> @retval EFI_SUCCESS Configure language is set.
> @@ -372,20 +373,29 @@ InstallInterchangeDataProtocol (
> **/
> EFI_STATUS
> EdkIIRedfishResourceSetConfigureLang (
> - REDFISH_FEATURE_ARRAY_TYPE_CONFIG_LANG_LIST *ConfigLangList
> + IN EFI_HANDLE ImageHandle,
> + IN REDFISH_FEATURE_ARRAY_TYPE_CONFIG_LANG_LIST *ConfigLangList
> )
> {
> EFI_STATUS Status;
> UINTN Index;
> EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL *Interface;
>
> + if ((ImageHandle == NULL) || (ConfigLangList == NULL)) {
> + return EFI_INVALID_PARAMETER;
> + }
> +
> + if ((ConfigLangList->Count == 0) || (ConfigLangList->List == NULL)) {
> + return EFI_NOT_FOUND;
> + }
> +
> Status = gBS->HandleProtocol (
> - mCachedHandle,
> + ImageHandle,
> &gEdkIIRedfishFeatureInterchangeDataProtocolGuid,
> (VOID **)&Interface
> );
> if (EFI_ERROR (Status)) {
> - DEBUG ((DEBUG_ERROR, "%a,
> EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL is not installed
> %r", __func__, Status));
> + DEBUG ((DEBUG_ERROR, "%a:
> EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL is not installed on
> %p: %r\n", __func__, ImageHandle, Status));
> return Status;
> }
>
> @@ -422,7 +432,7 @@ EdkIIRedfishResourceSetConfigureLang (
>
> **/
> EFI_STATUS
> -EdkIIRedfishResourceConfigProvisionging (
> +EdkIIRedfishResourceConfigProvisioning (
> IN REDFISH_SCHEMA_INFO *Schema,
> IN EFI_STRING Uri,
> IN RESOURCE_INFORMATION_EXCHANGE *InformationExchange,
> --
> 2.17.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111794): https://edk2.groups.io/g/devel/message/111794
Mute This Topic: https://groups.io/mt/102767548/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
prev parent reply other threads:[~2023-11-28 5:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-23 14:34 [edk2-devel] [edk2-redfish-client][PATCH 5/6] RedfishClientPkg/Features: fix NULL cached handler issue Nickle Wang via groups.io
2023-11-28 5:16 ` Chang, Abner via groups.io [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MN2PR12MB396663AF0F0DC3704EECAF1EEABCA@MN2PR12MB3966.namprd12.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox