From: Philipp Zabel <p.zabel@pengutronix.de>
Date: Wed, 25 Sep 2013 13:22:01 +0000 (+0200)
Subject: ASoC: imx-sgtl5000: Fix uninitialized pointer use in error path
X-Git-Tag: firefly_0821_release~176^2~4889^2~33^2~52^2~5
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=50d4a790e65f5ac91a7b2720a19e80e862b40318;p=firefly-linux-kernel-4.4.55.git

ASoC: imx-sgtl5000: Fix uninitialized pointer use in error path

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>
---

diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c
index 52df7d5eaf9e..ca1be1d9dcf0 100644
--- a/sound/soc/fsl/imx-sgtl5000.c
+++ b/sound/soc/fsl/imx-sgtl5000.c
@@ -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);