From: Peter Hurley <peter@hurleysoftware.com>
Date: Mon, 9 Mar 2015 20:27:17 +0000 (-0400)
Subject: serial: 8250_early: Fix setup() error code
X-Git-Tag: firefly_0821_release~176^2~1907^2~55
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=cd385e9a2a2daa7e74003f930886e4c1cdf032f4;p=firefly-linux-kernel-4.4.55.git

serial: 8250_early: Fix setup() error code

If parsing failed to decode a valid uart addr, return -ENODEV instead
of success. Although setup_earlycon() will detect the failure anyway
(because the write() method has not been set), that behavior is not
obvious and should not be relied on.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---

diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c
index 1701d00fd9f6..b199c10689f4 100644
--- a/drivers/tty/serial/8250/8250_early.c
+++ b/drivers/tty/serial/8250/8250_early.c
@@ -146,7 +146,7 @@ static int __init early_serial8250_setup(struct earlycon_device *device,
 					 const char *options)
 {
 	if (!(device->port.membase || device->port.iobase))
-		return 0;
+		return -ENODEV;
 
 	if (!device->baud) {
 		struct uart_port *port = &device->port;