serial: 8250_early: Fix setup() error code
authorPeter Hurley <peter@hurleysoftware.com>
Mon, 9 Mar 2015 20:27:17 +0000 (16:27 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 15:17:55 +0000 (16:17 +0100)
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>
drivers/tty/serial/8250/8250_early.c

index 1701d00fd9f6dd20efa297fec1afe5dbfbfc338e..b199c10689f47245747402c8c6f3ded14f9f8b6e 100644 (file)
@@ -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;