summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGanesh Ganapathi Batta <ganeshg@broadcom.com>2013-02-15 17:52:29 -0800
committerMatthew Xie <mattx@google.com>2013-02-19 15:53:55 -0800
commite17bf003d4eefdc8525e55894210e9ee494972b8 (patch)
tree8bcd742857c2e7ce7b3db62f1e8ff215110eba6a
parentebb1d755818704a662f7ea8ae3cc1b5593d582d8 (diff)
downloadandroid_system_bt-e17bf003d4eefdc8525e55894210e9ee494972b8.tar.gz
android_system_bt-e17bf003d4eefdc8525e55894210e9ee494972b8.tar.bz2
android_system_bt-e17bf003d4eefdc8525e55894210e9ee494972b8.zip
Cancel device search before starting SDP
Also update bonding state when acl link goes down during bonding b/8120036 Change-Id: I28e4cb6f35e4c524b7a67281e78a196ba1fce0cb
-rw-r--r--btif/src/btif_dm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/btif/src/btif_dm.c b/btif/src/btif_dm.c
index 08c9a0449..cb0971944 100644
--- a/btif/src/btif_dm.c
+++ b/btif/src/btif_dm.c
@@ -742,6 +742,10 @@ static void btif_dm_auth_cmpl_evt (tBTA_DM_AUTH_CMPL *p_auth_cmpl)
/* Trigger SDP on the device */
pairing_cb.bonded_pending_sdp = TRUE;
+
+ if(btif_dm_inquiry_in_progress)
+ btif_dm_cancel_discovery();
+
btif_dm_get_remote_services(&bd_addr);
/* Do not call bond_state_changed_cb yet. Wait till fetch remote service is complete */
}
@@ -1242,6 +1246,11 @@ static void btif_dm_upstreams_evt(UINT16 event, char* p_param)
case BTA_DM_LINK_DOWN_EVT:
bdcpy(bd_addr.address, p_data->link_down.bd_addr);
+ if ((pairing_cb.state == BT_BOND_STATE_BONDING) &&
+ (bdcmp(p_data->link_down.bd_addr, pairing_cb.bd_addr) == 0))
+ {
+ bond_state_changed(BT_STATUS_RMT_DEV_DOWN,&bd_addr, BT_BOND_STATE_NONE);
+ }
BTIF_TRACE_DEBUG0("BTA_DM_LINK_DOWN_EVT. Sending BT_ACL_STATE_DISCONNECTED");
HAL_CBACK(bt_hal_cbacks, acl_state_changed_cb, BT_STATUS_SUCCESS,
&bd_addr, BT_ACL_STATE_DISCONNECTED);