summaryrefslogtreecommitdiffstats
path: root/stack/avrc/avrc_bld_tg.c
diff options
context:
space:
mode:
authorSatish Kodishala <skodisha@codeaurora.org>2015-07-10 15:06:07 +0530
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:21:50 -0600
commit3f16412bd9e9cd8de3847edbca7bbcd2de78fe27 (patch)
treeec1041bb4b7505695fa483c625598cd10fe7277c /stack/avrc/avrc_bld_tg.c
parent3da22d8f4e2540cd8b46064e850d6638a4af870f (diff)
downloadandroid_system_bt-3f16412bd9e9cd8de3847edbca7bbcd2de78fe27.tar.gz
android_system_bt-3f16412bd9e9cd8de3847edbca7bbcd2de78fe27.tar.bz2
android_system_bt-3f16412bd9e9cd8de3847edbca7bbcd2de78fe27.zip
Ignore RFCOMM close event in case of collision
When Multi-hf is enabled, if outgoing and incoming to/from HF collide, ignore RFCOMM close event if HF is already connected. CRs-fixed: 869792 Change-Id: I1ed5b17de13ed66c2add4c2377949cdffe968c48 Handle unknown codecs sent by HF Use case: 1. Connect to headset supporting CVSD, mSBC and other codecs. 2. Verify if headset sending AT+BAC with supported codecs. 3. Check if SCO is established with mSBC codec. Failure: SCO is established with CVSD codec. Root cause: When parsing AT+BAC command, if unknown codec is received, we are falling back to CVSD although mSBC is supported in HF. Fix: AT+BAC parsing function modified to return correct codecs supported by HF when it encounters unknown codecs in arguments of AT+BAC. CRs-fixed: 861222 Change-Id: Ibc6a72b749280dc70a355270f37f4316468c1a4f Clear remote BD address if SDP search fails Use case: 1. Enable multi hf. 2. Pair and connect to a headset. 3. Turn off headset and try connecting to headset from AG. 4. After the connection fails, turn on headset. 5. Make sure headset initiates HF connection to AG. 6. Make MO/MT call, switch from headset to AG, vice versa using headset. Failure: When call is transferred from AG to headset, headset initiated SCO connection request is rejected by AG. Root cause: For outgoing connection in step 3, SDP search fails. BD address of remote headset is stored in scb[0]. BD address of headset with which we tried to connect is not cleared in scb[0]. When incoming HF connection request is accepted in step 5, BD address of headset is stored in scb[1]. Now, BD address of the same headset is stored in both scb[0], scb[1]. When SCO connection request is received from headset, we get scb information using BD address. However, since BD address in scb[0] is not cleared, we end up selecting scb[0] for which there is no headset connected. This makes us think that remote is initiating SCO connection without SLC and we reject the SCO connection. Fix: Clear the BD address of remote when SDP search fails. CRs-fixed: 861209 Change-Id: Iff3e1f2a25988c3eb55d6914cae6ac8427a7e211 BT: HFP1.7: Do not upstream invalid BIND set event. Incase remote HS sends incorrect BIND set command during SLC, do not upstream the event to BT apps to avoid disconnection. Change-Id: Ie2d52a97ab179174e219ebe0c17f9d1f66545367 CRs-Fixed: 809572 Do not reset SSR parameters on SCO link. When Headset is connected during active call, HFP is connected first. Due to active call SCO is also established, when SCO is established we disable SSR. When a2dp is connected after SCO connection it enables SSR. This enabling of SSR is causing ACL disconnect. When there is new profile connection on same device which has SCO we should not enable SSR. It should be enabled only when there is no SCO. Change-Id: I25263a148a13136174a67867a822ba3497a11f8e
Diffstat (limited to 'stack/avrc/avrc_bld_tg.c')
0 files changed, 0 insertions, 0 deletions