From e74c3676e651f79d27afa986c5837eb1e103fe84 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Mon, 29 Nov 2010 21:52:24 +0000 Subject: Fix ICC 9.1 build break git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11103 6f19259b-4bc3-4df7-8a09-765794883524 --- Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Nt32Pkg') diff --git a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c index bd74247387..0dc031393e 100644 --- a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c +++ b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c @@ -175,6 +175,7 @@ Returns: EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer; UINTN EntryCount; UINTN Index; + BOOLEAN RemainingDevicePathContainsFlowControl; // // Check RemainingDevicePath validation @@ -261,6 +262,11 @@ Returns: return Status; } + // + // See if RemainingDevicePath has a Flow Control device path node + // + RemainingDevicePathContainsFlowControl = ContainsFlowControl (RemainingDevicePath); + for (Index = 0; Index < EntryCount; Index++) { if ((OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) { Status = gBS->OpenProtocol ( @@ -271,9 +277,10 @@ Returns: Handle, EFI_OPEN_PROTOCOL_GET_PROTOCOL ); - if (!EFI_ERROR (Status) && - (ContainsFlowControl (RemainingDevicePath) ^ ContainsFlowControl (DevicePath))) { - Status = EFI_UNSUPPORTED; + if (!EFI_ERROR (Status)) { + if (RemainingDevicePathContainsFlowControl ^ ContainsFlowControl (DevicePath)) { + Status = EFI_UNSUPPORTED; + } } break; } -- cgit v1.2.3