serial: 8250_uniphier: fix error return code in uniphier_uart_probe()
authorWei Yongjun <weiyongjun1@huawei.com>
Thu, 4 Jan 2018 07:42:15 +0000 (07:42 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Feb 2018 16:39:23 +0000 (17:39 +0100)
commit 7defa77d2baca4d6eb85234f10f38ab618332e75 upstream.

Fix to return a negative error code from the port register error
handling case instead of 0, as done elsewhere in this function.

Fixes: 39be40ce066d ("serial: 8250_uniphier: fix serial port index in private data")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_uniphier.c

index 8a10b10e27aae9b25d6378c3b98235c611b7fbfe..c206f173f912b2e779e20a497d8607b34e4d9323 100644 (file)
@@ -259,12 +259,13 @@ static int uniphier_uart_probe(struct platform_device *pdev)
        up.dl_read = uniphier_serial_dl_read;
        up.dl_write = uniphier_serial_dl_write;
 
-       priv->line = serial8250_register_8250_port(&up);
-       if (priv->line < 0) {
+       ret = serial8250_register_8250_port(&up);
+       if (ret < 0) {
                dev_err(dev, "failed to register 8250 port\n");
                clk_disable_unprepare(priv->clk);
                return ret;
        }
+       priv->line = ret;
 
        platform_set_drvdata(pdev, priv);