[tip:x86/urgent] x86, setup: Fix earlyprintk=serial,0x3f8,115200

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: tip-bot for Yinghai Lu
Date: Tuesday, September 21, 2010 - 12:58 pm

Commit-ID:  74b3c444a963ba55aef89b33a1bcaada9a4c206f
Gitweb:     http://git.kernel.org/tip/74b3c444a963ba55aef89b33a1bcaada9a4c206f
Author:     Yinghai Lu <yinghai@kernel.org>
AuthorDate: Sun, 29 Aug 2010 18:13:10 -0700
Committer:  H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Tue, 21 Sep 2010 10:18:33 -0700

x86, setup: Fix earlyprintk=serial,0x3f8,115200

earlyprintk can take and I/O port, so we need to handle this case in
the setup code too, otherwise 0x3f8 will be treated as a baud rate.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <4C7B05A6.4010801@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
 arch/x86/boot/early_serial_console.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/arch/x86/boot/early_serial_console.c b/arch/x86/boot/early_serial_console.c
index 407a8e2..5df2869 100644
--- a/arch/x86/boot/early_serial_console.c
+++ b/arch/x86/boot/early_serial_console.c
@@ -58,7 +58,19 @@ static void parse_earlyprintk(void)
 		if (arg[pos] == ',')
 			pos++;
 
-		if (!strncmp(arg + pos, "ttyS", 4)) {
+		/*
+		 * make sure we have
+		 *	"serial,0x3f8,115200"
+		 *	"serial,ttyS0,115200"
+		 *	"ttyS0,115200"
+		 */
+		if (pos == 7 && !strncmp(arg + pos, "0x", 2)) {
+			port = simple_strtoull(arg + pos, &e, 16);
+			if (port == 0 || arg + pos == e)
+				port = DEFAULT_SERIAL_PORT;
+			else
+				pos = e - arg;
+		} else if (!strncmp(arg + pos, "ttyS", 4)) {
 			static const int bases[] = { 0x3f8, 0x2f8 };
 			int idx = 0;
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Linux 2.6.36-rc3, Linus Torvalds, (Sun Aug 29, 10:25 am)
Re: Linux 2.6.36-rc3, Chris Ball, (Sun Aug 29, 12:24 pm)
Re: Linux 2.6.36-rc3, Torsten Kaiser, (Sun Aug 29, 12:24 pm)
Re: Linux 2.6.36-rc3, Yinghai Lu, (Sun Aug 29, 3:27 pm)
Re: Linux 2.6.36-rc3, Yinghai Lu, (Sun Aug 29, 3:36 pm)
Re: Linux 2.6.36-rc3, Jean-Denis Girard, (Sun Aug 29, 3:40 pm)
Re: Linux 2.6.36-rc3, Yinghai Lu, (Sun Aug 29, 3:53 pm)
Re: Linux 2.6.36-rc3, Torsten Kaiser, (Sun Aug 29, 9:50 pm)
Re: Linux 2.6.36-rc3, Borislav Petkov, (Sun Aug 29, 10:23 pm)
Re: Linux 2.6.36-rc3, Jean-Denis Girard, (Mon Aug 30, 1:00 am)
Re: Linux 2.6.36-rc3, Miguel Calleja, (Mon Aug 30, 1:47 am)
Re: Linux 2.6.36-rc3, Suresh Jayaraman, (Mon Aug 30, 10:00 am)
Re: Linux 2.6.36-rc3, Shirish Pargaonkar, (Mon Aug 30, 10:14 am)
Re: Linux 2.6.36-rc3, Randy Dunlap, (Mon Aug 30, 10:25 am)
Re: Linux 2.6.36-rc3, Piotr Hosowicz, (Mon Aug 30, 12:28 pm)
Re: Linux 2.6.36-rc3, Steve French, (Mon Aug 30, 2:27 pm)
[tip:x86/urgent] x86, setup: Fix earlyprintk=serial,ttyS0, ..., tip-bot for Yinghai Lu, (Tue Sep 21, 12:58 pm)
[tip:x86/urgent] x86, setup: Fix earlyprintk=serial,0x3f8, ..., tip-bot for Yinghai Lu, (Tue Sep 21, 12:58 pm)
Early console confusion, Bjorn Helgaas, (Wed Sep 22, 8:12 am)
Re: Early console confusion, H. Peter Anvin, (Wed Sep 22, 8:56 am)
Re: Early console confusion, Bjorn Helgaas, (Wed Sep 22, 9:44 am)
Re: Early console confusion, H. Peter Anvin, (Wed Sep 22, 9:53 am)
Re: Early console confusion, Bjorn Helgaas, (Wed Sep 22, 11:21 am)
Re: Early console confusion, H. Peter Anvin, (Wed Sep 22, 11:26 am)