From 080a55697f9144c91749ff59a2de725d1077550b Mon Sep 17 00:00:00 2001 From: Adrian Alonso Date: Wed, 25 Apr 2012 18:03:50 -0500 Subject: [PATCH] ENGR00180236: mxc_spdif add spdif_clk error check * Add get_clk clock error check abort driver probe if wrong clock. Signed-off-by: Adrian Alonso --- sound/soc/codecs/mxc_spdif.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sound/soc/codecs/mxc_spdif.c b/sound/soc/codecs/mxc_spdif.c index 4d8e83b2032d..9a538c7295af 100644 --- a/sound/soc/codecs/mxc_spdif.c +++ b/sound/soc/codecs/mxc_spdif.c @@ -1244,6 +1244,11 @@ static int __devinit mxc_spdif_probe(struct platform_device *pdev) } plat_data->spdif_clk = clk_get(&pdev->dev, NULL); + if (IS_ERR(plat_data->spdif_clk)) { + ret = PTR_ERR(plat_data->spdif_clk); + dev_err(&pdev->dev, "can't get clock: %d\n", ret); + goto failed_clk; + } atomic_set(&spdif_priv->dpll_locked, 0); @@ -1277,7 +1282,7 @@ static int __devinit mxc_spdif_probe(struct platform_device *pdev) card_err: clk_put(plat_data->spdif_clk); clk_disable(plat_data->spdif_core_clk); - +failed_clk: platform_set_drvdata(pdev, NULL); kfree(spdif_priv); -- 2.39.5