[SQUASHME] ASoC: core: Make sure FE override adds sof- prefix once.

sof-prefix must only be added once.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 5684044b..e0a0a59 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1021,6 +1021,7 @@ struct snd_soc_card {
 	struct mutex dapm_mutex;
 
 	bool instantiated;
+	bool topology_shortname_created;
 
 	int (*probe)(struct snd_soc_card *card);
 	int (*late_probe)(struct snd_soc_card *card);
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 0ee2289..3fe1ed1 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1873,6 +1873,7 @@ EXPORT_SYMBOL_GPL(snd_soc_set_dmi_name);
 static void soc_check_tplg_fes(struct snd_soc_card *card)
 {
 	struct snd_soc_component *component;
+	const struct snd_soc_component_driver *comp_drv;
 	struct snd_soc_dai_link *dai_link;
 	int i;
 
@@ -1922,12 +1923,19 @@ static void soc_check_tplg_fes(struct snd_soc_card *card)
 		}
 
 		/* Inform userspace we are using alternate topology */
-		if (component->driver->topology_name_prefix &&
-			card->name != card->topology_shortname) {
+		if (component->driver->topology_name_prefix) {
 
-			snprintf(card->topology_shortname, 32, "%s-%s",
-				 component->driver->topology_name_prefix,
-				 card->name);
+			/* topology shortname created ? */
+			if (!card->topology_shortname_created) {
+				comp_drv = component->driver;
+
+				snprintf(card->topology_shortname, 32, "%s-%s",
+					 comp_drv->topology_name_prefix,
+					 card->name);
+				card->topology_shortname_created = true;
+			}
+
+			/* use topology shortname */
 			card->name = card->topology_shortname;
 		}
 	}