diff --git a/asoc/kalama.c b/asoc/kalama.c index c721bc2480..89a1780b95 100644 --- a/asoc/kalama.c +++ b/asoc/kalama.c @@ -1294,9 +1294,17 @@ static int msm_snd_card_late_probe(struct snd_soc_card *card) { struct snd_soc_component *component = NULL; struct snd_soc_pcm_runtime *rtd; + struct msm_asoc_mach_data *pdata; int ret = 0; void *mbhc_calibration; + pdata = snd_soc_card_get_drvdata(card); + if (!pdata) + return -EINVAL; + + if (pdata->wcd_disabled) + return 0; + rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[0]); if (!rtd) { dev_err(card->dev, diff --git a/asoc/waipio.c b/asoc/waipio.c index cfa91808f2..8b6d59a278 100644 --- a/asoc/waipio.c +++ b/asoc/waipio.c @@ -1234,9 +1234,17 @@ static int msm_snd_card_late_probe(struct snd_soc_card *card) { struct snd_soc_component *component = NULL; struct snd_soc_pcm_runtime *rtd; + struct msm_asoc_mach_data *pdata; int ret = 0; void *mbhc_calibration; + pdata = snd_soc_card_get_drvdata(card); + if (!pdata) + return -EINVAL; + + if (pdata->wcd_disabled) + return 0; + rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[0]); if (!rtd) { dev_err(card->dev,