hal: fix resource leak issues in platform.c

- fix resource leak issues related to mixer
  controls and file handles

Change-Id: I3675da4504a93a084ad582e5e6eb7c75f38e736e
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index e091547..65ef702 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1335,6 +1335,7 @@
         if (!snd_card_name) {
             ALOGE("failed to allocate memory for snd_card_name\n");
             free(my_data);
+            mixer_close(adev->mixer);
             return NULL;
         }
         ALOGD("%s: snd_card_name: %s", __func__, snd_card_name);
@@ -1401,6 +1402,7 @@
                 free(my_data);
                 free(snd_card_name);
                 free(snd_card_name_t);
+                mixer_close(adev->mixer);
                 return NULL;
             }
             adev->snd_card = snd_card_num;
@@ -1409,6 +1411,7 @@
         }
         retry_num = 0;
         snd_card_num++;
+        mixer_close(adev->mixer);
     }
 
     if (snd_card_num >= MAX_SND_CARD) {