From dd08b3db40dff0cbb0a05c5f731377e35e10266f Mon Sep 17 00:00:00 2001 From: Rohit kumar Date: Fri, 15 Dec 2017 15:33:57 +0530 Subject: [PATCH] asoc: sdm660: fix tasha lite detection issue Defer probe of soundcard registration until codec driver registration is complete to fix detection of codec version by machine driver. Change-Id: Ia93404a85c98bd50e63015073284d5bf290a3f9f Signed-off-by: Rohit kumar --- asoc/sdm660-ext-dai-links.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/asoc/sdm660-ext-dai-links.c b/asoc/sdm660-ext-dai-links.c index 02d35a9ebf7d..5f5a60e21ca0 100644 --- a/asoc/sdm660-ext-dai-links.c +++ b/asoc/sdm660-ext-dai-links.c @@ -2052,8 +2052,13 @@ struct snd_soc_card *populate_snd_card_dailinks(struct device *dev, if (strnstr(card->name, "tasha", strlen(card->name))) { codec_ver = tasha_codec_ver(); - if (codec_ver == WCD9326) - card->name = "sdm660-tashalite-snd-card"; + if (codec_ver == WCD9326) { + card->name = "sdm670-tashalite-snd-card"; + } else if (codec_ver == WCD9XXX) { + dev_err(dev, "%s: Invalid codec version %d\n", + __func__, codec_ver); + return NULL; + } len1 = ARRAY_SIZE(msm_ext_common_fe_dai); len2 = len1 + ARRAY_SIZE(msm_ext_tasha_fe_dai);