According to PCI spec the next AER capability is relative to
the beginning of PCI configuration space. Hence substract the
base offset to get the next capability.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Abdul Lateef Attar <[email protected]>
---
 ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c 
b/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
index 337495e..664c22b 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
@@ -2370,7 +2370,7 @@ PCI_CONFIG_SPACE  *mConfigSpace = NULL;
 STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
   {L"-s", TypeValue},
   {L"-i", TypeFlag},
-  {L"-_e", TypeFlag},
+  {L"-_e", TypeValue},
   {NULL, TypeMax}
   };
 
@@ -5914,7 +5914,7 @@ PciExplainPciExpress (
       // Advance to the next item if it exists
       //
       if (ExtHdr->NextCapabilityOffset != 0) {
-        ExtHdr = (PCI_EXP_EXT_HDR*)((UINT8*)ExRegBuffer + 
ExtHdr->NextCapabilityOffset);
+        ExtHdr = (PCI_EXP_EXT_HDR*)((UINT8*)ExRegBuffer + 
ExtHdr->NextCapabilityOffset - EFI_PCIE_CAPABILITY_BASE_OFFSET);
       } else {
         break;
       }
-- 
2.7.4

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to