diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-19 20:46:21 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-19 20:46:21 -0700 |
| commit | 687a4eb82be5905f5400678dcaff4e98dad72e3c (patch) | |
| tree | ace6d160be3fd6d5f892b9d3a33ce37951e3919c | |
| parent | e3cfe4f4b3b5eff4da7cdfb4e428ea6f066a6bc5 (diff) | |
| parent | 5a51c2c5ef9f6b71dea7a876e28c6e089164089d (diff) | |
Merge "ASoC: sdm660_cdc: Add null check in msm_dig_suspend"
| -rw-r--r-- | sound/soc/codecs/sdm660_cdc/msm-digital-cdc.c | 12 |
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), |
