hal: avoid audio rerouting to different device when hfp is active

 - when hfp is active we make sure we do not reroute anything
   new to different device with same backend.

CRs-Fixed: 592390
Change-Id: I75e69916a8fe7e711b326cf82b206e3e16508b60
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index fefbfa4..f73f5fe 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -593,6 +593,7 @@
     struct audio_usecase *usecase = NULL;
     struct audio_usecase *vc_usecase = NULL;
     struct audio_usecase *voip_usecase = NULL;
+    struct audio_usecase *hfp_usecase = NULL;
     struct listnode *node;
     int status = 0;
 
@@ -631,6 +632,12 @@
                     in_snd_device = voip_usecase->in_snd_device;
                     out_snd_device = voip_usecase->out_snd_device;
             }
+        } else if (audio_extn_hfp_is_active(adev)) {
+            hfp_usecase = get_usecase_from_list(adev, USECASE_AUDIO_HFP_SCO);
+            if (hfp_usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) {
+                   in_snd_device = hfp_usecase->in_snd_device;
+                   out_snd_device = hfp_usecase->out_snd_device;
+            }
         }
         if (usecase->type == PCM_PLAYBACK) {
             usecase->devices = usecase->stream.out->devices;