summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-08-25 10:33:26 -0600
committerLinux Build Service Account <lnxbuild@localhost>2017-08-25 10:33:26 -0600
commit097e68d94d254c8ebf774bde8e56ecd62b9ad40f (patch)
tree5c73d97753add2203b179007f6d10be64dd2097c
parenta327b1ade0263b47e723f95e267e3b3315e81a24 (diff)
parent84afe44e1a2948f37674c6fd0dc89dbee57fef77 (diff)
downloadbt-097e68d94d254c8ebf774bde8e56ecd62b9ad40f.tar.gz
Merge 84afe44e1a2948f37674c6fd0dc89dbee57fef77 on remote branch
Change-Id: I17591e1c6ad3425746e53b9095034e396e7812e3
-rwxr-xr-xlibbt-vendor/src/bt_vendor_qcom.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/libbt-vendor/src/bt_vendor_qcom.c b/libbt-vendor/src/bt_vendor_qcom.c
index 8cbf5d1..7e0e447 100755
--- a/libbt-vendor/src/bt_vendor_qcom.c
+++ b/libbt-vendor/src/bt_vendor_qcom.c
@@ -348,7 +348,7 @@ int start_hci_filter() {
//Filter should have been started OR in the process of initializing
//Make sure of hci_filter_status and return the state based on it
} else {
-
+ property_set("wc_transport.clean_up","0");
property_set("wc_transport.hci_filter_status", "0");
property_set(BT_VND_FILTER_START, "true");
ALOGV("%s: %s set to true ", __func__, BT_VND_FILTER_START );
@@ -993,10 +993,12 @@ userial_open:
property_set("wc_transport.clean_up","0");
if (retval != -1) {
-
retval = start_hci_filter();
if (retval < 0) {
ALOGE("%s: WCNSS_FILTER wouldn't have started in time\n", __func__);
+ property_set("wc_transport.hci_filter_status", "-1");
+ property_set("wc_transport.start_hci", "false");
+ bt_powerup(0);
} else {
#ifdef ENABLE_ANT
if (is_ant_req) {
@@ -1053,9 +1055,16 @@ userial_open:
{
property_get("ro.bluetooth.emb_wp_mode", emb_wp_mode, false);
retval = start_hci_filter();
+
if (retval < 0) {
ALOGE("WCNSS_FILTER wouldn't have started in time\n");
-
+ /*
+ Set the following property to -1 so that the SSR cleanup routine
+ can reset SOC.
+ */
+ property_set("wc_transport.hci_filter_status", "-1");
+ property_set("wc_transport.start_hci", "false");
+ bt_powerup(0);
} else {
#ifdef ENABLE_ANT
if (is_ant_req) {