Commit a66ae631 authored by Mark Brown's avatar Mark Brown

ASoC: mc13783: Ensure we only try to dereference valid of_nodes

Reported-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a5448c88
...@@ -765,12 +765,18 @@ static int __init mc13783_codec_probe(struct platform_device *pdev) ...@@ -765,12 +765,18 @@ static int __init mc13783_codec_probe(struct platform_device *pdev)
return -ENOSYS; return -ENOSYS;
ret = of_property_read_u32(np, "adc-port", &priv->adc_ssi_port); ret = of_property_read_u32(np, "adc-port", &priv->adc_ssi_port);
if (ret) if (ret) {
goto out; of_node_put(np);
return ret;
}
ret = of_property_read_u32(np, "dac-port", &priv->dac_ssi_port); ret = of_property_read_u32(np, "dac-port", &priv->dac_ssi_port);
if (ret) if (ret) {
goto out; of_node_put(np);
return ret;
}
of_node_put(np);
} }
dev_set_drvdata(&pdev->dev, priv); dev_set_drvdata(&pdev->dev, priv);
...@@ -783,8 +789,6 @@ static int __init mc13783_codec_probe(struct platform_device *pdev) ...@@ -783,8 +789,6 @@ static int __init mc13783_codec_probe(struct platform_device *pdev)
ret = snd_soc_register_codec(&pdev->dev, &soc_codec_dev_mc13783, ret = snd_soc_register_codec(&pdev->dev, &soc_codec_dev_mc13783,
mc13783_dai_async, ARRAY_SIZE(mc13783_dai_async)); mc13783_dai_async, ARRAY_SIZE(mc13783_dai_async));
out:
of_node_put(np);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment