diff options
author | Ganesh Ganapathi Batta <ganeshg@broadcom.com> | 2013-02-15 17:52:29 -0800 |
---|---|---|
committer | Matthew Xie <mattx@google.com> | 2013-02-19 15:53:55 -0800 |
commit | e17bf003d4eefdc8525e55894210e9ee494972b8 (patch) | |
tree | 8bcd742857c2e7ce7b3db62f1e8ff215110eba6a | |
parent | ebb1d755818704a662f7ea8ae3cc1b5593d582d8 (diff) | |
download | android_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.c | 9 |
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); |