[<prev] [next>] [day] [month] [year] [list]
Message-Id: <d1d806ef1d3cd9ff34edc5b09778ac42f11b32fd.1260946439.git.baruch@tkos.co.il>
Date: Wed, 16 Dec 2009 09:02:25 +0200
From: Baruch Siach <baruch@...s.co.il>
To: Sascha Hauer <s.hauer@...gutronix.de>
Cc: Baruch Siach <baruch@...s.co.il>, Alan Cox <alan@...ux.intel.com>,
Sascha Hauer <s.hauer@...gutronix.de>,
Oskar Schirmer <os@...ix.com>, Fabian Godehardt <fg@...ix.com>,
Daniel Glöckner <dg@...ix.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH] serial: imx: fix NULL dereference Oops when pdata == NULL
The platform code doesn't have to provide platform data to get sensible default
behaviour from the imx serial driver.
This patch does not handle NULL dereference in the IrDA case, which still
requires a valid platform data pointer (in imx_startup()/imx_shutdown()), since
I don't know whether there is a sensible default behaviour, or should the
operation just fail cleanly.
Signed-off-by: Baruch Siach <baruch@...s.co.il>
---
drivers/serial/imx.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index 18130f1..8c0dd13 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -1279,7 +1279,7 @@ static int serial_imx_probe(struct platform_device *pdev)
sport->use_irda = 1;
#endif
- if (pdata->init) {
+ if (pdata && pdata->init) {
ret = pdata->init(pdev);
if (ret)
goto clkput;
@@ -1292,7 +1292,7 @@ static int serial_imx_probe(struct platform_device *pdev)
return 0;
deinit:
- if (pdata->exit)
+ if (pdata && pdata->exit)
pdata->exit(pdev);
clkput:
clk_put(sport->clk);
@@ -1321,7 +1321,7 @@ static int serial_imx_remove(struct platform_device *pdev)
clk_disable(sport->clk);
- if (pdata->exit)
+ if (pdata && pdata->exit)
pdata->exit(pdev);
iounmap(sport->port.membase);
--
1.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists