summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpramod kotreshappa <kpramod@codeaurora.org>2015-01-19 14:33:38 -0800
committerArne Coucheron <arco68@gmail.com>2015-02-15 00:36:40 +0100
commite391a948b0512ba837054c6dae8c2a64bb99503b (patch)
treef25e48f3728500a775e8ff62a157394b2ea36344
parentcb9e18b744c0ea2f709c7f52a6d0ca33180d0de6 (diff)
downloadandroid_hardware_qcom_bt-stable/cm-12.0-YNG4N.tar.gz
android_hardware_qcom_bt-stable/cm-12.0-YNG4N.tar.bz2
android_hardware_qcom_bt-stable/cm-12.0-YNG4N.zip
Bluetooth: Fix for ANT enable failure when BT is offstable/cm-12.0-YNG4Nstable/cm-12.0-YNG3Ccm-12.0
Issue is due to host query for add-on feature supported by SoC during SoC initialization. Add-on feature is BT VS cmd, wcnss filter receives VS event and tries to write on BT socket. Since BT is not enabled, BT socket fd will be null and host is stuck in reading VS event, as a result ANT trun on fails. Issue is fixed by sending add-on feature VS cmd only when BT enable in process. Change-Id: I046c37b0149240560f80d2ee15c2f95be098971f
-rw-r--r--libbt-vendor/src/bt_vendor_qcom.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libbt-vendor/src/bt_vendor_qcom.c b/libbt-vendor/src/bt_vendor_qcom.c
index ce2cb63..1cb7bb2 100644
--- a/libbt-vendor/src/bt_vendor_qcom.c
+++ b/libbt-vendor/src/bt_vendor_qcom.c
@@ -697,6 +697,7 @@ static int op(bt_vendor_opcode_t opcode, void *param)
break;
case BT_SOC_ROME:
{
+ property_get("persist.BT3_2.version", bt_version, false);
if (!is_soc_initialized()) {
fd = userial_vendor_open((tUSERIAL_CFG *) &userial_init_cfg);
if (fd < 0) {
@@ -706,7 +707,6 @@ static int op(bt_vendor_opcode_t opcode, void *param)
/* Clock on */
userial_clock_operation(fd, USERIAL_OP_CLK_ON);
ALOGD("userial clock on");
- property_get("persist.BT3_2.version", bt_version, false);
if(strcmp(bt_version, "true") == 0) {
property_get("ro.bluetooth.wipower", wipower_status, false);
if(strcmp(wipower_status, "true") == 0) {
@@ -756,7 +756,7 @@ static int op(bt_vendor_opcode_t opcode, void *param)
if (fd != -1) {
ALOGV("%s: received the socket fd: %d is_ant_req: %d\n",
__func__, fd, is_ant_req);
- if(strcmp(bt_version, "true") == 0) {
+ if((strcmp(bt_version, "true") == 0) && !is_ant_req) {
if (rome_ver >= ROME_VER_3_0) {
/* get rome supported feature request */
ALOGE("%s: %x08 %0x", __FUNCTION__,rome_ver, ROME_VER_3_0);