diff --git a/hal/acdb.c b/hal/acdb.c
index 7394906..1775ec0 100644
--- a/hal/acdb.c
+++ b/hal/acdb.c
@@ -164,13 +164,13 @@
 
     /* Get Sound card name */
     snd_card_name = mixer_get_name(mixer);
+    snd_card_name = platform_get_snd_card_name_for_acdb_loader(snd_card_name);
     if (!snd_card_name) {
-        ALOGE("failed to allocate memory for snd_card_name");
+        ALOGE("failed to get snd_card_name");
         result = -1;
         goto cleanup;
     }
 
-    snd_card_name = platform_get_snd_card_name_for_acdb_loader(snd_card_name);
     int key = 0;
     struct listnode *node = NULL;
     struct meta_key_list *key_info = NULL;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 67845de..3269e0d 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -4123,7 +4123,7 @@
         goto done;
     }
 
-    if(effect_config == NULL) {
+    if (effect_config == NULL) {
         ALOGE("%s: Invalid effect_config", __func__);
         ret = -EINVAL;
         goto done;
@@ -4151,6 +4151,10 @@
     }
 
     device = (struct external_specific_device *)calloc(1, sizeof(struct external_specific_device));
+    if (device == NULL) {
+        ALOGE("%s: memory allocation failed", __func__);
+        return;
+    }
 
     device->usbid = strdup(usbid);
     device->acdb_id = acdb_id;
