EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;\r
UINTN EntryCount;\r
UINTN Index;\r
+ BOOLEAN HasFlowControl;\r
\r
//\r
// Check RemainingDevicePath validation\r
Controller,\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
+ HasFlowControl = ContainsFlowControl (RemainingDevicePath);\r
+ if (HasFlowControl ^ ContainsFlowControl (DevicePath)) {\r
+ Status = EFI_UNSUPPORTED;\r
+ }\r
}\r
break;\r
}\r
//\r
// first determine the parameter is invalid\r
//\r
- if (Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |\r
- EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE | \r
- EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) {\r
+ if ((Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |\r
+ EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE | \r
+ EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0) {\r
return EFI_UNSUPPORTED;\r
}\r
\r