]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c
BaseTools: Add Brotli algorithm tool
[mirror_edk2.git] / Nt32Pkg / WinNtSerialIoDxe / WinNtSerialIo.c
index 44bc510d7c9cd4ca277aec7cc6dc643549acb3ce..23d3329d9db10fc383aa6f6f6e4ab2e56ad1615c 100644 (file)
@@ -1,7 +1,7 @@
 /**@file\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\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
@@ -175,6 +175,7 @@ Returns:
   EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;\r
   UINTN                               EntryCount;\r
   UINTN                               Index;\r
+  BOOLEAN                             RemainingDevicePathContainsFlowControl; \r
 \r
   //\r
   // Check RemainingDevicePath validation\r
@@ -261,6 +262,11 @@ Returns:
       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
@@ -271,9 +277,10 @@ Returns:
                         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
@@ -977,7 +984,7 @@ Returns:
   //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