git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11104
6f19259b-4bc3-4df7-8a09-
765794883524
EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;\r
UINTN EntryCount;\r
UINTN Index;\r
EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;\r
UINTN EntryCount;\r
UINTN Index;\r
+ BOOLEAN RemainingDevicePathContainsFlowControl; \r
\r
//\r
// Check RemainingDevicePath validation\r
\r
//\r
// Check RemainingDevicePath validation\r
+ //\r
+ // See if RemainingDevicePath has a Flow Control device path node\r
+ //\r
+ RemainingDevicePathContainsFlowControl = ContainsFlowControl (RemainingDevicePath);\r
+\r
for (Index = 0; Index < EntryCount; Index++) {\r
if ((OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {\r
Status = gBS->OpenProtocol (\r
for (Index = 0; Index < EntryCount; Index++) {\r
if ((OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {\r
Status = gBS->OpenProtocol (\r
Handle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
);\r
Handle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
);\r
- if (!EFI_ERROR (Status) &&\r
- (ContainsFlowControl (RemainingDevicePath) ^ ContainsFlowControl (DevicePath))) {\r
- Status = EFI_UNSUPPORTED;\r
+ if (!EFI_ERROR (Status)) {\r
+ if (RemainingDevicePathContainsFlowControl ^ ContainsFlowControl (DevicePath)) {\r
+ Status = EFI_UNSUPPORTED;\r
+ }\r