diff options
Diffstat (limited to 'usr/src/boot/sys/boot/efi/loader/comconsole.c')
| -rw-r--r-- | usr/src/boot/sys/boot/efi/loader/comconsole.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/usr/src/boot/sys/boot/efi/loader/comconsole.c b/usr/src/boot/sys/boot/efi/loader/comconsole.c index 5c738ad013..c0f8669efe 100644 --- a/usr/src/boot/sys/boot/efi/loader/comconsole.c +++ b/usr/src/boot/sys/boot/efi/loader/comconsole.c @@ -676,16 +676,18 @@ comc_setup(struct console *cp) if (EFI_ERROR(status)) return (false); + status = sp->sio->GetControl(sp->sio, &control); + if (EFI_ERROR(status)) + return (false); if (sp->rtsdtr_off) { - status = sp->sio->GetControl(sp->sio, &control); - if (EFI_ERROR(status)) - return (false); control &= ~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY); - status = sp->sio->SetControl(sp->sio, control); - if (EFI_ERROR(status)) - return (false); + } else { + control |= EFI_SERIAL_REQUEST_TO_SEND; } + + (void) sp->sio->SetControl(sp->sio, control); + /* Mark this port usable. */ cp->c_flags |= (C_PRESENTIN | C_PRESENTOUT); return (true); |
