hal: utils: fix KW issues

Fix possible doble free of mixer and snd_card_name in function
audio_extn_utils_get_snd_card_num.
These were reported in recent KW reports for audio hal.

Change-Id: Ie3cf2a4e6d948ce45fd3d2291d466bb8629d96e4
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 3052b23..9b0df8e 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -2004,14 +2004,19 @@
         ALOGE("%s: Failed to init hardware info", __func__);
         retry_num = 0;
         snd_card_num++;
-        free(snd_card_name);
-        mixer_close(mixer);
-    }
 
-    mixer_close(mixer);
-    hw_info_deinit(hw_info);
+        free(snd_card_name);
+        snd_card_name = NULL;
+
+        mixer_close(mixer);
+        mixer = NULL;
+    }
     if (snd_card_name)
         free(snd_card_name);
+    if (mixer)
+        mixer_close(mixer);
+    if (hw_info)
+        hw_info_deinit(hw_info);
 
     if (snd_card_num >= MAX_SND_CARD) {
         ALOGE("%s: Unable to find correct sound card, aborting.", __func__);