[PATCH 07/36] serial: imx: fix NULL dereference Oops when pdata == NULL

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Greg Kroah-Hartman
Date: Tuesday, March 2, 2010 - 4:36 pm

From: Baruch Siach <baruch@tkos.co.il>

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@tkos.co.il>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Oskar Schirmer <os@emlix.com>
Cc: Fabian Godehardt <fg@emlix.com>
Cc: Daniel Glöckner <dg@emlix.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 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 60d665a..d00fcf8 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.7.0.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[GIT PATCH] TTY patches for 2.6.33-git, Greg KH, (Tue Mar 2, 4:09 pm)
[PATCH 01/36] serial: fit blackfin uart over sport driver ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 02/36] serial: copy UART properties of UPF_FIXED_TY ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 03/36] serial: 68328serial.c: remove BAUD_TABLE_SIZ ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 04/36] serial: atmel_serial: add poll_get_char and ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 05/36] serial: synclink_gt: dropped transmit data b ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 06/36] serial: 8250_pci: add support for MCS9865 / ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 07/36] serial: imx: fix NULL dereference Oops when ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 08/36] serial: add support for Korenix JetCard, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 09/36] serial: fix test of unsigned, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 10/36] serial: Char: cyclades, fix compiler warning, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 11/36] serial: cyclades: allow overriding ISA defau ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 12/36] tty: char: mxser, remove unnecessary tty test, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 13/36] serial: isicom.c: use pr_fmt and pr_&lt;level&gt;, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 14/36] hvc_console: fix test on unsigned in hvc_con ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 15/36] tty: moxa: remove #ifdef MODULE completely., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 16/36] ip2: remove #ifdef MODULE from ip2main.c, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 17/36] ip2: Add module parameter., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 18/36] tty: declare MODULE_FIRMWARE in various drivers, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 19/36] Char: synclink, remove unnecessary checks, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 20/36] serial: bfin_5xx: remove useless gpio handli ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 21/36] serial: bfin_5xx: need to disable DMA TX int ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 22/36] serial: bfin_5xx: kgdboc should accept gdb b ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 23/36] serial: bfin_5xx: pull in linux/io.h for ior ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 24/36] serial: bcm63xx_uart: don't use kfree() on n ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 25/36] serial: bcm63xx_uart: allow more than one ua ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 26/36] sdio_uart: Use kfifo instead of the messy ci ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 27/36] nozomi: Add tty_port usage, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 28/36] nozomi: Fix mutex handling, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 29/36] nozomi: Tidy up the PCI table, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 30/36] serial: timberdale: Remove dependancies, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 31/36] tty: Fix the ldisc hangup race, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 32/36] tty: Fix up char drivers request_room usage, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 33/36] tty: Keep the default buffering to sub-page ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 34/36] tty: Add a new VT mode which is like VT_PROC ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 35/36] jsm: removing the uart structure and filenam ..., Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)
[PATCH 36/36] jsm: fixing error if the driver fails to load, Greg Kroah-Hartman, (Tue Mar 2, 4:36 pm)