From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 36E73AC0AEA for ; Tue, 28 Nov 2023 05:16:50 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=vJqiIDBkHPrKqOos/U2mKsXJ0f419CaV4Qyw0gQlFFA=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701148609; v=1; b=h3hU7SXy5XxMpB3BxMxyzUtCN12Bbxl9cW24yqx3/Jut3PzP4+dfiYsJa3PmNurI7XubMjXZ /qEoIPgEDLafxpNvZb36k4a6mibwRf8ucaqcQpw/6KhoLaWMETdiAIAo+ClTG5B2r+GHBaRJ9nC 6vjdrdnAa1G9JE8+S7hqDrlE= X-Received: by 127.0.0.2 with SMTP id WgieYY7687511x2TBIorU7gP; Mon, 27 Nov 2023 21:16:49 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.42]) by mx.groups.io with SMTP id smtpd.web11.26149.1701148609036195983 for ; Mon, 27 Nov 2023 21:16:49 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KhkUmZ5YhMoTlxc37ywUaicXOAj7exMstryFD5pXGe6MZhSIE9ojz+nfh9f9NyqGli2IGrafkrEpR1OswdRicOaBSI2mk09OLcOk5FqYnFSeUKFeE6k312WPdd0vCX7KX9agnAJ93mW9q1AqvxEXC0acZbw/gpgvPm5VzUXQunKly0OEtZ6tt3j0mo/z3WbjLgiu5+PUfNncb6pYFCMfeYcz7HSCUMTDK1M+bxHcBYL5Fpss1+2EWNOA/RrvCzZUOM3UIYo8kzogCiPtMdXooWpNw4io1G3t3jdf9n559GEbEDXEFwpBY5FkaQSZOFVQ1TWM9dtBKnrNoPvxL6YYzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OlymIqGv3FxF7nMCdxH/vA5nQ2GHspQzsXbVb8r1+2I=; b=F8Hmcshh7/fW873/68UEkR2PUIXb4YlLlkkwYDkBTmCLZKRIBmqxk0+PXGQj85UPR2ECRL5uoNsII5WLXm3z3YVDLXjPb4pBKPJnECb8de4/VfoFirnWpo9OyJyDpYMHaPg0L1EoBvd5psMZMyA0b/jmnMdpQOqnznMYhl5zKVCCHu1NmRH+xkBTFyz4j7JtmEWqpUtn/qvm++yIW+Cb+B0zm+V+qW4OEjomww2XAeqbh0JleTEGuE6A0cb0o+GajWDihvFDsl/w3Yh9R8CBB0xbjhBNAgFIHIQMWJvM1d4IKw8NbcpxBsDZ3l7ID8f3gJwAvEAkcoa+MFdUJwSSAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by MW4PR12MB7263.namprd12.prod.outlook.com (2603:10b6:303:226::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Tue, 28 Nov 2023 05:16:45 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05%5]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023 05:16:45 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH 5/6] RedfishClientPkg/Features: fix NULL cached handler issue. Thread-Topic: [edk2-redfish-client][PATCH 5/6] RedfishClientPkg/Features: fix NULL cached handler issue. Thread-Index: AQHaHhox0xCUfEUAdUW+ZzKPTJVA3LCPN+Cw Date: Tue, 28 Nov 2023 05:16:44 +0000 Message-ID: References: <20231123143419.3612-1-nicklew@nvidia.com> In-Reply-To: <20231123143419.3612-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=0dc37a9f-b519-4b42-88cb-e38f0c511165;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-11-28T05:16:28Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|MW4PR12MB7263:EE_ x-ms-office365-filtering-correlation-id: d961af3e-df7b-483f-e071-08dbefd136cb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: c7WTgwrTQScGan+eBfhskiWoFCRNAlKXVUt3TZoXBUn05AgIGK5zmk96joutKf14SEqLUElRoH+UEg4Y2V8RWLmT52ASMoAalCp/5/8p9b7Hyr6IV0q/IIUxYnyCZZIwZJ5+CGOme9yOHXWuJGfO9Wp1fN5MiyzYOoe6vdWoNOlt99yJ24crkTEhxhiQekMU+CSJBfIAbgMmPoWydV2om6MiPr6XSWasqKLm6I5cpJJJEdFF4b/KfNQQk9xq8IzViTj29gXlx8RQX6HHIw4b3syTvoTL8WX6QeakTzc60z3DV6ikoasgGG1jY93Ekg93finJK2Hdz28mEN00R0iM1iK5JfaUM3NKTcNpyvVQL3cYxp3HEaKGO3TUF3bRHc9sa0ellZGP7g6QNy5afGDoZt1U/jd6zOpuf9RiCHNLXc0JojFdhxf2SH5RGh20CV1xT4w7pR0u+bgqHDqZTaU9FdK2QdJB5lfMXuntwf2D6HryvopHjJj96XviVG9y6HOVP4dktzoTZBpl4glMRMd+wA982q/skWJvOTFVZPvdVeRA4a2ZoEsOcVDhMyGcYnYO5FeBAtqKcT++3OMObJRKejShZ3iBIYA5OWWz5lTxjay+7Dm7FjfVZMTO4QyBm2nyU7JWh9sgvjwH10kAwIW1N+iGrDU7U4JFLxFD5/2lNy8= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?uEIXpYVw4Wi+Rjz+C/VYvrvj1FHPn4kibyr//k2dMdVqdlEjsSXzHR46v3Xo?= =?us-ascii?Q?H5skL94RjFnWQzPWJomrpVGhXS2iGkNSlIdYBvRwZkOOSH4CLhHBq6N/RxT+?= =?us-ascii?Q?F4qZ7SF6MsKXUJ7yy3LDw1DTnGKTn2GdIesOrKmHB9uFIcLAWLxymmZ8gmrW?= =?us-ascii?Q?YndaBHyj+QKHgLd1b5gdFOZ5HHECTyDMSYoZDKa0VA6nUol46oZjDcwipCaJ?= =?us-ascii?Q?Q7VoV3upGlyoxCu7Guxzbw6oR8S31ahweS0oqiQ8a/6vrmYXuhnmFioWueHB?= =?us-ascii?Q?surECzJ+PU4562FsDaAJ5BGEjVcMCW/SGbMrZHzlbTGzEuL2G1zKAsgbC23j?= =?us-ascii?Q?ig52GsY5IFVFqddnAsEUUTS6rKDGxCpHE4CqBbo5r/bAn7akesGkLmC+GFnh?= =?us-ascii?Q?ZQ+WzK7BnKjpT0cp6+n23xhID416jwDPljBt+13PG7/qiRRemI7AJvL1EAEj?= =?us-ascii?Q?gavjN+KoOiu8ALC34/7p3K5zl9e+XQ7n53IixxJlL8eA7tBFHj/LfCtUfxrl?= =?us-ascii?Q?mXQaWrWG7jxuQS6NExZnJuozBpn9m/FWQPC7920z+9DAyBbOD27ovuzipwl6?= =?us-ascii?Q?NeDJd2Mh7f9QIjJnklMmRt0hpn4J09VQUzQn98ARXE9as9WX64jMW54ephJa?= =?us-ascii?Q?xakPrlN5Be8cSwf6H3oDJ8sGNaBJSwlO9cxfd/yE4eVOfInlT/nHs6cgVCV7?= =?us-ascii?Q?OeAiv4Qoia7wYMii/D12mt4e1DlK4RXFjoxoNcPQ4G1SywnnxmaKHlIzsSn5?= =?us-ascii?Q?sFgHcVP6lSEbL9G2rd0G0V5b56RTKf22PvsSOduQ2aNwUQ6Jy/YzsVOg02Nh?= =?us-ascii?Q?B+NuOY1uX1fMod7mQ9eawXz+5nZPtNoPc5Q3NZStKzef/E+7QqJw5sSAIRTq?= =?us-ascii?Q?OZcUD2i3QqNtC7rtvN1UlagEtGiZmJXDp9h+3LyujyMHM9HkFnbvgHMDoUqU?= =?us-ascii?Q?p4kS3BckrLsOzNhO6IcWj2aqLVj0NIzMomC81Y3Vlt+VcoGh3jvh92XrxrZx?= =?us-ascii?Q?IpTmqLBqye8ro1GSIOHRA1GbJaFn2qq8v0ylvpBL28NLIOz4TMCStY4gE5ia?= =?us-ascii?Q?jZE7sFNyUisIpwdXayX2UbchVdQx29aqt7y28uo8RYfj6HojIkfNsGvlr1Xm?= =?us-ascii?Q?Q2UTiqSMhW6VROIHGVfOs5RcnA75Lr7LhxLYy/2Pq9DR7GZqMrdL7Bq0/FGn?= =?us-ascii?Q?sn+orU3I7kVQ09zwr99S33b0kIiQRwuUf/jY7DNqV5dK+QV0FxVxxNlPgdZp?= =?us-ascii?Q?Hxb3vfXAEenY0Ilj2nFKwCFhvXCyYdX2/DE4Mew54GOSjm/qMtIr1D74DBDP?= =?us-ascii?Q?sBwt40cVMc/YW9J9k013PlyKiVitXc++/RxyNHHe06jPs5vSNOUAhEt1fFJn?= =?us-ascii?Q?7G3Cz+o1PdUDEjWecRAeKPAxf1yl16xWkarIMckim031D5G/GnYMz65KkVHQ?= =?us-ascii?Q?8u3AlgPhVdzzl9biDeJf7DUO5maXDX0XF2WPAT9c6YVRz4/+DbhloFC3uX88?= =?us-ascii?Q?IDRyzI2gW/N3zxIUaJ6vvKhxS5sOQgVT0dq16mr+yvCrti1B0r7GZtrb9xju?= =?us-ascii?Q?qbNn1N4yMwGKaxCnHGB8mAW/xTuAKGPc4rlHdFwp?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d961af3e-df7b-483f-e071-08dbefd136cb X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 05:16:44.9516 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Cmdp4HZaObaQpa6MvRVkCD0+qwoI6In9ONHPUjUwso3DwexhF3QeXR+vaybWcNFaxcwGSs8sZRtA7jpnNO7t0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7263 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 2W55yhrYs3sFvNoyEaIRvv5wx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=h3hU7SXy; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io [AMD Official Use Only - General] Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Thursday, November 23, 2023 10:34 PM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [edk2-redfish-client][PATCH 5/6] RedfishClientPkg/Features: fix = NULL > cached handler issue. > > Caution: This message originated from an External Source. Use proper caut= ion > 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 > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > .../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/EdkIIRedfishResourceConfigL= ib.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
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -18,7 +19,7 @@ > #include > > /** > - 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[] =3D "{\"@odata.id\": \"\", \"@odata.type\": > \"#Bios.v1_0_9.Bios\", \"Id\": \"\", \"Name\": \"\", \"Attributes\":{}}"; > > -REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate =3D > NULL; > +REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate > =3D NULL; > +EFI_HANDLE mRedfishResourceConfigProtocolHandle = =3D 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 coll= ection > driver). > // > - EdkIIRedfishResourceSetConfigureLang (&UnifiedConfigureLangList); > + EdkIIRedfishResourceSetConfigureLang > (mRedfishResourceConfigProtocolHandle, &UnifiedConfigureLangList); > > for (Index =3D 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 co= llection > 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 pr= operty. > // > DEBUG ((REDFISH_DEBUG_TRACE, "%a provision for %s\n", __func__, Uri)= ); > - Status =3D EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Uri= , > Private->InformationExchange, FALSE); > + Status =3D 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 mRedfishResourceConfigProtocolHa= ndle; > > 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
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -11,7 +12,8 @@ > > CHAR8 ComputerSystemEmptyJson[] =3D "{\"@odata.id\": \"\", > \"@odata.type\": \"#ComputerSystem.v1_5_0.ComputerSystem\", \"Id\": > \"\", \"Name\": \"\", \"Boot\":{}}"; > > -REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate =3D > NULL; > +REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate > =3D NULL; > +EFI_HANDLE mRedfishResourceConfigProtocolHandle = =3D 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 coll= ection > driver). > // > - EdkIIRedfishResourceSetConfigureLang (&UnifiedConfigureLangList); > + EdkIIRedfishResourceSetConfigureLang > (mRedfishResourceConfigProtocolHandle, &UnifiedConfigureLangList); > > for (Index =3D 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 co= llection > 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 mRedfishResourceConfigProtocolHa= ndle; > > /** > 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
> + 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 pr= operty. > // > DEBUG ((REDFISH_DEBUG_TRACE, "%a provision for %s\n", __func__, Uri)= ); > - Status =3D EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Uri= , > Private->InformationExchange, FALSE); > + Status =3D 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 =3D EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Priva= te- > >CollectionUri, Private->InformationExchange, TRUE); > + Status =3D EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Privat= e- > >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
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -11,7 +12,8 @@ > > CHAR8 MemoryEmptyJson[] =3D "{\"@odata.id\": \"\", \"@odata.type\": > \"#Memory.v1_7_1.Memory\", \"Id\": \"\", \"Name\": \"\"}"; > > -REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate =3D > NULL; > +REDFISH_RESOURCE_COMMON_PRIVATE *mRedfishResourcePrivate > =3D NULL; > +EFI_HANDLE mRedfishResourceConfigProtocolHandle = =3D 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 coll= ection > driver). > // > - EdkIIRedfishResourceSetConfigureLang (&UnifiedConfigureLangList); > + EdkIIRedfishResourceSetConfigureLang > (mRedfishResourceConfigProtocolHandle, &UnifiedConfigureLangList); > > for (Index =3D 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 co= llection > 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 mRedfishResourceConfigProtocolHa= ndle; > > /** > 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
> + 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 pr= operty. > // > DEBUG ((REDFISH_DEBUG_TRACE, "%a provision for %s\n", __func__, Uri)= ); > - Status =3D EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Uri= , > Private->InformationExchange, FALSE); > + Status =3D 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 =3D EdkIIRedfishResourceConfigProvisionging (&SchemaInfo, Priva= te- > >CollectionUri, Private->InformationExchange, TRUE); > + Status =3D EdkIIRedfishResourceConfigProvisioning (&SchemaInfo, Privat= e- > >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 =3D=3D NULL) || (ConfigLangList =3D=3D NULL)) { > + return EFI_INVALID_PARAMETER; > + } > + > + if ((ConfigLangList->Count =3D=3D 0) || (ConfigLangList->List =3D=3D N= ULL)) { > + return EFI_NOT_FOUND; > + } > + > Status =3D 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 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- 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] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-