Merge "Revert "policy_hal: Initial change for the new libaudiopolicymanager""
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index d5c61f8..da9f2b4 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2632,6 +2632,20 @@
     struct str_parms *reply = str_parms_create();
     struct str_parms *query = str_parms_create_str(keys);
     char *str;
+    char value[256] = {0};
+    int ret = 0;
+
+    ret = str_parms_get_str(query, "SND_CARD_STATUS", value,
+                            sizeof(value));
+    if (ret >=0) {
+        int val = 1;
+        pthread_mutex_lock(&adev->snd_card_status.lock);
+        if (SND_CARD_STATE_OFFLINE == adev->snd_card_status.state)
+            val = 0;
+        pthread_mutex_unlock(&adev->snd_card_status.lock);
+        str_parms_add_int(reply, "SND_CARD_STATUS", val);
+        goto exit;
+    }
 
     pthread_mutex_lock(&adev->lock);
     audio_extn_get_parameters(adev, query, reply);
@@ -2639,6 +2653,7 @@
     platform_get_parameters(adev->platform, query, reply);
     pthread_mutex_unlock(&adev->lock);
 
+exit:
     str = str_parms_to_str(reply);
     str_parms_destroy(query);
     str_parms_destroy(reply);