diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index e5ab181..50e8f97 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -254,27 +254,27 @@
 
 static void  update_hardware_info_thulium(struct hardware_info *hw_info, const char *snd_card_name)
 {
-    if (!strcmp(snd_card_name, "thulium-tomtom-mtp-snd-card")) {
+    if (!strcmp(snd_card_name, "msmthulium-tomtom-mtp-snd-card")) {
         strlcpy(hw_info->type, " mtp", sizeof(hw_info->type));
-        strlcpy(hw_info->name, "thulium", sizeof(hw_info->name));
+        strlcpy(hw_info->name, "msmthulium", sizeof(hw_info->name));
         hw_info->snd_devices = NULL;
         hw_info->num_snd_devices = 0;
         strlcpy(hw_info->dev_extn, "", sizeof(hw_info->dev_extn));
-    } else if (!strcmp(snd_card_name, "thulium-tomtom-cdp-snd-card")) {
+    } else if (!strcmp(snd_card_name, "msmthulium-tomtom-cdp-snd-card")) {
         strlcpy(hw_info->type, " cdp", sizeof(hw_info->type));
-        strlcpy(hw_info->name, "thulium", sizeof(hw_info->name));
+        strlcpy(hw_info->name, "msmthulium", sizeof(hw_info->name));
         hw_info->snd_devices = (snd_device_t *)tomtom_thulium_CDP_variant_devices;
         hw_info->num_snd_devices = ARRAY_SIZE(tomtom_thulium_CDP_variant_devices);
         strlcpy(hw_info->dev_extn, "-cdp", sizeof(hw_info->dev_extn));
-    } else if (!strcmp(snd_card_name, "thulium-tomtom-stp-snd-card")) {
+    } else if (!strcmp(snd_card_name, "msmthulium-tomtom-stp-snd-card")) {
         strlcpy(hw_info->type, " stp", sizeof(hw_info->type));
-        strlcpy(hw_info->name, "thulium", sizeof(hw_info->name));
+        strlcpy(hw_info->name, "msmthulium", sizeof(hw_info->name));
         hw_info->snd_devices = (snd_device_t *)tomtom_stp_variant_devices;
         hw_info->num_snd_devices = ARRAY_SIZE(tomtom_stp_variant_devices);
         strlcpy(hw_info->dev_extn, "-stp", sizeof(hw_info->dev_extn));
-    } else if (!strcmp(snd_card_name, "thulium-tomtom-liquid-snd-card")) {
+    } else if (!strcmp(snd_card_name, "msmthulium-tomtom-liquid-snd-card")) {
         strlcpy(hw_info->type, " liquid", sizeof(hw_info->type));
-        strlcpy(hw_info->name, "thulium", sizeof(hw_info->name));
+        strlcpy(hw_info->name, "msmthulium", sizeof(hw_info->name));
         hw_info->snd_devices = (snd_device_t *)tomtom_liquid_variant_devices;
         hw_info->num_snd_devices = ARRAY_SIZE(tomtom_liquid_variant_devices);
         strlcpy(hw_info->dev_extn, "-liquid", sizeof(hw_info->dev_extn));
