]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
serial: omap: fix potential NULL pointer dereference in serial_omap_runtime_suspend()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Wed, 5 Jun 2013 02:04:49 +0000 (10:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Jun 2013 20:07:05 +0000 (13:07 -0700)
The dereference to 'up' should be moved below the NULL test.
Introduced by commit ddd85e225c8885b5e4419b0499ab27100e7c366a
(serial: omap: prevent runtime PM for "no_console_suspend")

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/omap-serial.c

index 1aaeca8727d4900812c6f94cd56fa97e2a921a0c..156b5aaed95ba4d87eb16903833417cd56cef3fb 100644 (file)
@@ -1613,6 +1613,9 @@ static int serial_omap_runtime_suspend(struct device *dev)
        struct uart_omap_port *up = dev_get_drvdata(dev);
        struct omap_uart_port_info *pdata = dev->platform_data;
 
+       if (!up)
+               return -EINVAL;
+
        /*
        * When using 'no_console_suspend', the console UART must not be
        * suspended. Since driver suspend is managed by runtime suspend,
@@ -1623,9 +1626,6 @@ static int serial_omap_runtime_suspend(struct device *dev)
            uart_console(&up->port))
                return -EBUSY;
 
-       if (!up)
-               return -EINVAL;
-
        if (!pdata)
                return 0;