Commit 60846880 authored by Peter Hurley's avatar Peter Hurley Committed by Greg Kroah-Hartman
Browse files

serial: earlycon: Skip parse_options() if empty string



Earlycon param strings of the form
   earlycon=<name>
are rejected from parse_options() with an error (which, in turn,
results in a NULL argument for the setup() method options parameter).

Only pass non-empty string to parse_options(); this will enable
handling actual parse errors differently than expected and allow
formats.

Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 526ebc3f
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -109,13 +109,16 @@ int __init setup_earlycon(char *buf, const char *match,
	len = strlen(match);
	if (strncmp(buf, match, len))
		return 0;
	if (buf[len] && (buf[len] != ','))
		return 0;

	if (buf[len]) {
		if (buf[len] != ',')
			return 0;
		buf += len + 1;
	} else
		buf = NULL;

	/* On parsing error, pass the options buf to the setup function */
	if (!parse_options(&early_console_dev, buf))
	if (buf && !parse_options(&early_console_dev, buf))
		buf = NULL;

	port->uartclk = BASE_BAUD * 16;