summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2019-09-02 08:36:11 +0300
committerToomas Soome <tsoome@me.com>2019-09-10 18:31:32 +0300
commitada70d038ca186abd71e023e9dec2c5148e9b36f (patch)
tree7c24c26039a415659d21b07e1dc19d2138b58d83
parentd7802caee060fef7fc8e8c54b5f61e9efe26ff1e (diff)
downloadillumos-joyent-ada70d038ca186abd71e023e9dec2c5148e9b36f.tar.gz
11648 loader.efi: comconsole should set EFI_SERIAL_REQUEST_TO_SEND bit
Reviewed by: Gergő Doma <domag02@gmail.com> Reviewed by: Andy Fiddaman <omnios@citrus-it.co.uk> Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r--usr/src/boot/Makefile.version2
-rw-r--r--usr/src/boot/sys/boot/efi/loader/comconsole.c14
2 files changed, 9 insertions, 7 deletions
diff --git a/usr/src/boot/Makefile.version b/usr/src/boot/Makefile.version
index 78bf47e3b2..f50f4129be 100644
--- a/usr/src/boot/Makefile.version
+++ b/usr/src/boot/Makefile.version
@@ -33,4 +33,4 @@ LOADER_VERSION = 1.1
# Use date like formatting here, YYYY.MM.DD.XX, without leading zeroes.
# The version is processed from left to right, the version number can only
# be increased.
-BOOT_VERSION = $(LOADER_VERSION)-2019.08.16.1
+BOOT_VERSION = $(LOADER_VERSION)-2019.09.02.1
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);