hal: SSR support for compress offload

- reject offload request based on sound
  card state

Change-Id: I38256ce6163f948a9e9c14cb895de3f71529a0e9
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index a357e98..ffdf5d1 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2631,6 +2631,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);
@@ -2638,6 +2652,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);