]> www.infradead.org Git - linux.git/commitdiff
tty: serial: ma35d1: Add a NULL check for of_node
authorJacky Huang <ychuang3@nuvoton.com>
Tue, 25 Jun 2024 06:41:28 +0000 (06:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2024 14:12:06 +0000 (16:12 +0200)
The pdev->dev.of_node can be NULL if the "serial" node is absent.
Add a NULL check to return an error in such cases.

Fixes: 930cbf92db01 ("tty: serial: Add Nuvoton ma35d1 serial driver support")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/8df7ce45-fd58-4235-88f7-43fe7cd67e8f@moroto.mountain/
Signed-off-by: Jacky Huang <ychuang3@nuvoton.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20240625064128.127-1-ychuang570808@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/ma35d1_serial.c

index 19f0a305cc43023f092369d96bec49feec3fa875..3b4206e815fe9d7feb4ebf7720197c16cbe82501 100644 (file)
@@ -688,12 +688,13 @@ static int ma35d1serial_probe(struct platform_device *pdev)
        struct uart_ma35d1_port *up;
        int ret = 0;
 
-       if (pdev->dev.of_node) {
-               ret = of_alias_get_id(pdev->dev.of_node, "serial");
-               if (ret < 0) {
-                       dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret);
-                       return ret;
-               }
+       if (!pdev->dev.of_node)
+               return -ENODEV;
+
+       ret = of_alias_get_id(pdev->dev.of_node, "serial");
+       if (ret < 0) {
+               dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret);
+               return ret;
        }
        up = &ma35d1serial_ports[ret];
        up->port.line = ret;