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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to