lkml.org 
[lkml]   [2010]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/36] serial: imx: fix NULL dereference Oops when pdata == NULL
    Date
    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
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-03-03 00:55    [W:0.021 / U:90.500 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site