Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74b3c444 authored by Yinghai Lu's avatar Yinghai Lu Committed by H. Peter Anvin
Browse files

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: default avatarYinghai Lu <yinghai@kernel.org>
LKML-Reference: <4C7B05A6.4010801@kernel.org>
Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent 83d9f65b
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -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;