22.4.2 SetAttributes() Implementation

The SetAttributes() function is used by the caller to change the serial connection's attributes for BaudRate, ReceiveFifoDepth, Timeout, Parity, DataBits, and StopBits. The caller passes in 0 for any of these values that should be set to the default value. Parity and StopBits are enumerated values with their default value set in the 0th. If any of the parameters is an invalid value then the function returns EFI_INVALID_PARAMETER; the only other valid fail return value is EFI_DEVICE_ERROR if the serial device is physically not functioning correctly.

The Mode pointer must be updated in this function when success has been determined, but not modified if there is an error.

If any attribute is modified that changes any field of the UART Device Path Node for this device, then the Device Path Protocol must be reinstalled with the UEFI Boot Service ReinstallProtocolInterface().