hal: Fix voice call routing issue on headset

No uplink/downlink in wired headset when MT call is accepted in
auto answer mode.
When switching from combo device to wired headset on primary output,
voice usecase is disabled and not enabled until further device switch.
Voice usecase is getting disabled while executing check_usecases_codec
_backend() on low latency output and it's not enabled due to
incorrect update of usecase->out_snd_device for voice usecase.
Fix this by correcting the logic, so that voice usecase gets enabled
properly.

CRs-Fixed: 883371
Change-Id: I2eba41b02b9f1e838c7c73b75558bdfbd75f7ed2
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 15c435f..f97efdd 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -658,10 +658,9 @@
            specified usecase to new snd devices */
         list_for_each(node, &adev->usecase_list) {
             usecase = node_to_item(node, struct audio_usecase, list);
-            /* Update the out_snd_device only before enabling the audio route */
-            if (switch_device[usecase->id] ) {
-                usecase->out_snd_device = snd_device;
-                if (usecase->type != VOICE_CALL)
+            /* Update the out_snd_device only for the usecases that are enabled here */
+            if (switch_device[usecase->id] && (usecase->type != VOICE_CALL)) {
+                    usecase->out_snd_device = snd_device;
                     enable_audio_route(adev, usecase);
             }
         }