diff options
author | Alexey Polyudov <apolyudov@google.com> | 2017-09-06 15:34:16 -0700 |
---|---|---|
committer | Alexey Polyudov <apolyudov@google.com> | 2017-09-06 15:34:16 -0700 |
commit | 0c2f9d2188ce985e7ffd1878519816ed439d86a0 (patch) | |
tree | 5c73d97753add2203b179007f6d10be64dd2097c | |
parent | 66ea8ff6dec77aa033a4f85da2e3a7a4c01e7aef (diff) | |
parent | 097e68d94d254c8ebf774bde8e56ecd62b9ad40f (diff) | |
download | bt-0c2f9d2188ce985e7ffd1878519816ed439d86a0.tar.gz |
Merge remote-tracking branch 'b1c1/qcom/release/LA.UM.6.3.R1.00304.1' into b1c1-dev-20170906
-rwxr-xr-x | libbt-vendor/src/bt_vendor_qcom.c | 15 |
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) { |