From 1ba5cea3addc972f4c1be1fece67dbe9e361ccdf Mon Sep 17 00:00:00 2001 From: Carolyn Gjertsen Date: Thu, 14 May 2026 16:50:55 -0500 Subject: [PATCH] Doc/TestCaseSpec: Update GetNextDevice for dual behavior (Mantis 2359) Update EFI_ATA_PASS_THRU_PROTOCOL.GetNextDevice() test documentation to accept both EFI_NOT_FOUND and EFI_SUCCESS + 0xFFFF as valid terminal conditions per UEFI 2.10 Errata A (Mantis 2359). Note that conformance checkpoints now use WARNING/skip when no port multiplier is present. Cc: PR #352 Signed-off-by: Carolyn Gjertsen --- .../09_Protocols_Bootable_Image_Support_Test.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/uefi-sct/Doc/TestCaseSpec/09_Protocols_Bootable_Image_Support_Test.md b/uefi-sct/Doc/TestCaseSpec/09_Protocols_Bootable_Image_Support_Test.md index 9f8f3f9b0..bd11858fc 100644 --- a/uefi-sct/Doc/TestCaseSpec/09_Protocols_Bootable_Image_Support_Test.md +++ b/uefi-sct/Doc/TestCaseSpec/09_Protocols_Bootable_Image_Support_Test.md @@ -5577,19 +5577,30 @@ available port and PortMultiplierPort being invalid.

EFI_ATA_PASS_THRU_PROTOCOL.GetNextDevice – GetNextDevice()

could iterate all available

-

devices on one port.

+

devices on one port (accepts dual terminal behavior per Mantis 2359).

1.GetNextPort() with Port as

0xFFFFto start iterate ports.

2. Call GetNextPort() with Port

as one available port and

PortMultiplierPort as 0xFFFF to

start iterate devicess.

-

3. The iteration should ended up with a return code -EFI_NOT_FOUND.

+

3. The iteration should end with either:

+

(a) A return code of EFI_NOT_FOUND, or

+

(b) EFI_SUCCESS with PortMultiplierPort +set to 0xFFFF (broadcast address indicating no port +multiplier connected, per Mantis 2359).

+

Both behaviors are spec-compliant per UEFI 2.10 Errata A.

+**Note (Mantis 2359):** UEFI 2.10 Errata A clarified that when a port +multiplier is not connected, **GetNextDevice()** may return either +**EFI_NOT_FOUND** or **EFI_SUCCESS** with *PortMultiplierPort* set to +**0xFFFF**. Both behaviors are now accepted. The conformance test +checkpoints 1 and 2 (5.7.8.6.1 and 5.7.8.6.2) record **WARNING** and +skip when no devices are enumerable, rather than hard-failing. + ### PassThru()