]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tty: serial: linflexuart: Fix to check return value of platform_get_irq() in linflex_...
authorZhang Shurong <zhang_shurong@foxmail.com>
Sat, 26 Aug 2023 09:32:24 +0000 (17:32 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Sep 2023 09:14:43 +0000 (11:14 +0200)
The platform_get_irq might be failed and return a negative result. So
there should have an error handling code.

Fixed this by adding an error handling code.

Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com>
Link: https://lore.kernel.org/r/tencent_234B0AACD06350E10D7548C2E086A9166305@qq.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/fsl_linflexuart.c

index 249cb380c3c6541d2fc8ae37104ce7d03837f3fe..02e93b2f718330604c53cfb1bac30be06a036153 100644 (file)
@@ -832,10 +832,14 @@ static int linflex_probe(struct platform_device *pdev)
                return PTR_ERR(sport->membase);
        sport->mapbase = res->start;
 
+       ret = platform_get_irq(pdev, 0);
+       if (ret < 0)
+               return ret;
+
        sport->dev = &pdev->dev;
        sport->type = PORT_LINFLEXUART;
        sport->iotype = UPIO_MEM;
-       sport->irq = platform_get_irq(pdev, 0);
+       sport->irq = ret;
        sport->ops = &linflex_pops;
        sport->flags = UPF_BOOT_AUTOCONF;
        sport->has_sysrq = IS_ENABLED(CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE);