From e9601c59e62abc17c79e6e8b205595b944dc6e09 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Thu, 31 May 2007 15:53:37 -0700 Subject: [PATCH] If no serial console is configured, don't bother calling into it If there is no serial console configured, we can simply drop writes from com32 rather than letting syslinux do that. --- com32/lib/sys/serial_write.c | 4 ++++ com32/lib/sys/xserial_write.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/com32/lib/sys/serial_write.c b/com32/lib/sys/serial_write.c index 0235620..b593083 100644 --- a/com32/lib/sys/serial_write.c +++ b/com32/lib/sys/serial_write.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "file.h" ssize_t __serial_write(struct file_info *fp, const void *buf, size_t count) @@ -45,6 +46,9 @@ ssize_t __serial_write(struct file_info *fp, const void *buf, size_t count) (void)fp; + if (!syslinux_serial_console_info()->iobase) + return count; /* Nothing to do */ + memset(&ireg, 0, sizeof ireg); ireg.eax.b[1] = 0x04; diff --git a/com32/lib/sys/xserial_write.c b/com32/lib/sys/xserial_write.c index ebdf296..7964042 100644 --- a/com32/lib/sys/xserial_write.c +++ b/com32/lib/sys/xserial_write.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "file.h" static void emit(char ch) @@ -61,6 +62,9 @@ ssize_t __xserial_write(struct file_info *fp, const void *buf, size_t count) (void)fp; + if (!syslinux_serial_console_info()->iobase) + return count; /* Nothing to do */ + while ( count-- ) { unsigned char ch = *bufp++; -- 2.7.4