Refer to Uefi spec 2.10 section 11.11.2, add a new retval EFI_NOT_FOUND to EFI_ADAPTER_INFORMATION_PROTOCOL.GetInformation(). Reference: [mantis #1866] - GetInfo() of Adapter Information Protocol should have a provision for IHV to return no data.
Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Zhiguang Liu <zhiguang....@intel.com> Signed-off-by: Qingyu <qingyu.sh...@intel.com> Signed-off-by: Gahan Saraiya <gahan.sara...@intel.com> --- MdePkg/Include/Protocol/AdapterInformation.h | 5 ++++- MdePkg/Library/DxeHstiLib/HstiAip.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/AdapterInformation.h b/MdePkg/Include/Protocol/AdapterInformation.h index ed19e5736c3c..8e4448eb0f87 100644 --- a/MdePkg/Include/Protocol/AdapterInformation.h +++ b/MdePkg/Include/Protocol/AdapterInformation.h @@ -140,7 +140,9 @@ typedef struct { This function returns information of type InformationType from the adapter. If an adapter does not support the requested informational type, then - EFI_UNSUPPORTED is returned. + EFI_UNSUPPORTED is returned. If an adapter does not contain Information for + the requested InformationType, it fills InformationBlockSize with 0 and + returns EFI_NOT_FOUND. @param[in] This A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance. @param[in] InformationType A pointer to an EFI_GUID that defines the contents of InformationBlock. @@ -150,6 +152,7 @@ typedef struct { @retval EFI_SUCCESS The InformationType information was retrieved. @retval EFI_UNSUPPORTED The InformationType is not known. + @retval EFI_NOT_FOUND Information is not available for the requested information type. @retval EFI_DEVICE_ERROR The device reported an error. @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. @retval EFI_INVALID_PARAMETER This is NULL. diff --git a/MdePkg/Library/DxeHstiLib/HstiAip.c b/MdePkg/Library/DxeHstiLib/HstiAip.c index a2454ffeaa7a..523a712e6f6e 100644 --- a/MdePkg/Library/DxeHstiLib/HstiAip.c +++ b/MdePkg/Library/DxeHstiLib/HstiAip.c @@ -12,7 +12,9 @@ This function returns information of type InformationType from the adapter. If an adapter does not support the requested informational type, then - EFI_UNSUPPORTED is returned. + EFI_UNSUPPORTED is returned. If an adapter does not contain Information for + the requested InformationType, it fills InformationBlockSize with 0 and + returns EFI_NOT_FOUND. @param[in] This A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance. @param[in] InformationType A pointer to an EFI_GUID that defines the contents of InformationBlock. @@ -22,6 +24,7 @@ @retval EFI_SUCCESS The InformationType information was retrieved. @retval EFI_UNSUPPORTED The InformationType is not known. + @retval EFI_NOT_FOUND Information is not available for the requested information type. @retval EFI_DEVICE_ERROR The device reported an error. @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. @retval EFI_INVALID_PARAMETER This is NULL. -- 2.39.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#117494): https://edk2.groups.io/g/devel/message/117494 Mute This Topic: https://groups.io/mt/105397937/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-