audio: Fix to avoid co-existance of usb and voice-usb
Avoid co-existance of different modes of the same
device. This can potentially cause conflicts as the
a base device can be operated under different modes
concurrently but yet share the same controls.
Avoid state mismatches buy avoiding such co-existance
scenanios
Bug: 63258828
Test: Duo and Hangouts valls with and without USB headset
Change-Id: I8cfa9ef700cbde3abc5696c464712608bc2b14c7
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index bc3e844..c113eca 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -60,6 +60,7 @@
/* fallback app type if the default app type from acdb loader fails */
#define DEFAULT_APP_TYPE_RX_PATH 0x11130
#define DEFAULT_APP_TYPE_TX_PATH 0x11132
+#define DEFAULT_RX_BACKEND "SLIMBUS_0_RX"
/* Retry for delay in FW loading*/
#define RETRY_NUMBER 20
@@ -1174,6 +1175,10 @@
if (NULL != be_itf1 && NULL != be_itf2) {
if ((NULL == strstr(be_itf2, be_itf1)) && (NULL == strstr(be_itf1, be_itf2)))
result = false;
+ } else if (NULL != be_itf2 && (NULL == strstr(be_itf2, DEFAULT_RX_BACKEND))) {
+ result = false;
+ } else if (NULL != be_itf1 && (NULL == strstr(be_itf1, DEFAULT_RX_BACKEND))) {
+ result = false;
}
ALOGV("%s: be_itf1 = %s, be_itf2 = %s, match %d", __func__, be_itf1, be_itf2, result);