2013-07-08 07:25:51

by Alexander Savchenko

[permalink] [raw]
Subject: [PATCH] serial: omap: Initialize platform_data

From: Vikram Pandita <[email protected]>

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 <[email protected]>
Signed-off-by: Alexander Savchenko <[email protected]>
---
drivers/tty/serial/omap-serial.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index b6d1728..e42b4c9 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -1402,8 +1402,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) {
--
1.7.9.5