serial: omap: Initialize platform_data
authorVikram Pandita <vikram.pandita@ti.com>
Mon, 8 Jul 2013 07:25:43 +0000 (10:25 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Jul 2013 22:55:44 +0000 (15:55 -0700)
Otherwise serial driver would crash accessing platform_data that was
not initialized in functions like:

        serial_omap_pm(...)
        ...
        if (!state && pdata->enable_wakeup)
                   ^^^^^^^
        ...

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Alexander Savchenko <oleksandr.savchenko@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/omap-serial.c

index 9b6fc54967f2d4c923963cd252d7cb4c249b6547..72bb690829afea9c1b2e6f261a8f807aeb4a4c49 100644 (file)
@@ -1414,8 +1414,10 @@ static int serial_omap_probe(struct platform_device *pdev)
        struct omap_uart_port_info *omap_up_info = pdev->dev.platform_data;
        int ret;
 
-       if (pdev->dev.of_node)
+       if (pdev->dev.of_node) {
                omap_up_info = of_get_uart_port_info(&pdev->dev);
+               pdev->dev.platform_data = omap_up_info;
+       }
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!mem) {