From: Wei Yongjun Date: Wed, 5 Jun 2013 02:04:49 +0000 (+0800) Subject: serial: omap: fix potential NULL pointer dereference in serial_omap_runtime_suspend() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7f25301d83432efb0e7bb3fba288001a7bb03fdb;p=linux-beck.git serial: omap: fix potential NULL pointer dereference in serial_omap_runtime_suspend() 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 Acked-by: Tony Lindgren Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c index 1aaeca8727d4..156b5aaed95b 100644 --- a/drivers/tty/serial/omap-serial.c +++ b/drivers/tty/serial/omap-serial.c @@ -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;