/**@file\r
\r
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
Module Name:\r
\r
EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;\r
UINTN EntryCount;\r
UINTN Index;\r
+ BOOLEAN RemainingDevicePathContainsFlowControl; \r
\r
//\r
// Check RemainingDevicePath validation\r
return Status;\r
}\r
\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
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
}\r
break;\r
}\r
//The lower baud rate supported by the serial device will be selected without exceeding the unsupported BaudRate parameter\r
// \r
\r
- for (Index = 1; Index < (sizeof (mBaudRateCurrentSupport) / sizeof (mBaudRateCurrentSupport[0])); Index++) {\r
+ for (Index = 1; Index < (ARRAY_SIZE (mBaudRateCurrentSupport)); Index++) {\r
if (BaudRate < mBaudRateCurrentSupport[Index]) {\r
BaudRate = mBaudRateCurrentSupport[Index-1];\r
break;\r