[syslinux:elflink] serial: fix SERIAL directive for ports > 0

syslinux-bot for Matt Fleming matt.fleming at intel.com
Wed May 29 07:33:08 PDT 2013


Commit-ID:  4e682dcc05b0911365aa92c4f848daf013d3a635
Gitweb:     http://www.syslinux.org/commit/4e682dcc05b0911365aa92c4f848daf013d3a635
Author:     Matt Fleming <matt.fleming at intel.com>
AuthorDate: Wed, 29 May 2013 15:01:12 +0100
Committer:  Matt Fleming <matt.fleming at intel.com>
CommitDate: Wed, 29 May 2013 15:27:28 +0100

serial: fix SERIAL directive for ports > 0

There is a bug in the SERIAL directive parsing code that means that
using a port other than the first (SERIAL 0) results in a non-working
serial console. We need to use the serial port number from the config
file to offset the BIOS I/O port base address, otherwise we always
lookup the I/O port address for the first serial port instead of the one
the user specified.

Signed-off-by: Matt Fleming <matt.fleming at intel.com>

---
 com32/elflink/ldlinux/readconfig.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/com32/elflink/ldlinux/readconfig.c b/com32/elflink/ldlinux/readconfig.c
index 9d50c2f..7ac216b 100644
--- a/com32/elflink/ldlinux/readconfig.c
+++ b/com32/elflink/ldlinux/readconfig.c
@@ -1286,7 +1286,7 @@ do_include:
 		if (port <= 3) {
 			/* Get the I/O port from the BIOS */
 			port <<= 1;
-			port = *(volatile uint16_t *)serial_base;
+			port = *(volatile uint16_t *)(serial_base + port);
 		}
 
 		


More information about the Syslinux-commits mailing list