summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-03-19 20:46:21 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-19 20:46:21 -0700
commit687a4eb82be5905f5400678dcaff4e98dad72e3c (patch)
treeace6d160be3fd6d5f892b9d3a33ce37951e3919c
parente3cfe4f4b3b5eff4da7cdfb4e428ea6f066a6bc5 (diff)
parent5a51c2c5ef9f6b71dea7a876e28c6e089164089d (diff)
Merge "ASoC: sdm660_cdc: Add null check in msm_dig_suspend"
-rw-r--r--sound/soc/codecs/sdm660_cdc/msm-digital-cdc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sound/soc/codecs/sdm660_cdc/msm-digital-cdc.c b/sound/soc/codecs/sdm660_cdc/msm-digital-cdc.c
index 91faee1ffd32..57d642f058b6 100644
--- a/sound/soc/codecs/sdm660_cdc/msm-digital-cdc.c
+++ b/sound/soc/codecs/sdm660_cdc/msm-digital-cdc.c
@@ -2085,10 +2085,18 @@ static int msm_dig_cdc_remove(struct platform_device *pdev)
#ifdef CONFIG_PM
static int msm_dig_suspend(struct device *dev)
{
- struct msm_asoc_mach_data *pdata =
- snd_soc_card_get_drvdata(registered_digcodec->component.card);
+ struct msm_asoc_mach_data *pdata;
struct msm_dig_priv *msm_dig_cdc = dev_get_drvdata(dev);
+ if (!registered_digcodec || !msm_dig_cdc) {
+ pr_debug("%s:digcodec not initialized, return\n", __func__);
+ return 0;
+ }
+ pdata = snd_soc_card_get_drvdata(registered_digcodec->component.card);
+ if (!pdata) {
+ pr_debug("%s:card not initialized, return\n", __func__);
+ return 0;
+ }
if (msm_dig_cdc->dapm_bias_off) {
pr_debug("%s: mclk cnt = %d, mclk_enabled = %d\n",
__func__, atomic_read(&pdata->int_mclk0_rsc_ref),