ASoC: imx-sgtl5000: Fix uninitialized pointer use in error path
authorPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 25 Sep 2013 13:22:01 +0000 (15:22 +0200)
committerMark Brown <broonie@linaro.org>
Thu, 26 Sep 2013 11:01:32 +0000 (12:01 +0100)
This patch avoids to dereference the uninitialized data pointer if the
error path is entered before devm_kzalloc is called (or if the allocation
fails). It fixes the following warning:

    sound/soc/fsl/imx-sgtl5000.c: In function 'imx_sgtl5000_probe':
    sound/soc/fsl/imx-sgtl5000.c:175:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/fsl/imx-sgtl5000.c

index 52df7d5eaf9ec98ce65ef58843e7a931300de3e6..ca1be1d9dcf0349b608f77367f5330ca7c2c6308 100644 (file)
@@ -62,7 +62,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
        struct device_node *ssi_np, *codec_np;
        struct platform_device *ssi_pdev;
        struct i2c_client *codec_dev;
-       struct imx_sgtl5000_data *data;
+       struct imx_sgtl5000_data *data = NULL;
        int int_port, ext_port;
        int ret;
 
@@ -172,7 +172,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
        return 0;
 
 fail:
-       if (!IS_ERR(data->codec_clk))
+       if (data && !IS_ERR(data->codec_clk))
                clk_put(data->codec_clk);
        if (ssi_np)
                of_node_put(ssi_np);