3770c47387d3dfc6d2e2d32f4409a82119e726e3 |
20-Oct-2014 |
Satya Calloji <satyac@broadcom.com> |
Clean up SetADV and ScanResp data memory leak. Bug:18045480 Change-Id: Ic433f4aa26bd08e84c53c447be9d5278e16ebd55
tif_gatt_multi_adv_util.h
|
86f97eda524568f2d264186844450db5e56dac36 |
10-Nov-2014 |
Matthew Xie <mattx@google.com> |
Use the device type from saved properties instead of assuming default DUMO device can do both BLE and BREDR operations. It was wrong to assign BLE or BREDR type to it. Bug: 18275230 Change-Id: I8d6c17e5157ba29a1af459629de9e2d6f6dc5e99
tif_config.h
tif_gatt_util.h
|
b407515ffa145b1a2cab01467da03c92aeb0e8eb |
10-Oct-2014 |
Satya Calloji <satyac@broadcom.com> |
Fix "no instances found for adv" when stop BLE scanning. Bug:17703806 Change-Id: I103d3637ad38d33b4370850a300b0d72bdaeb562
tif_gatt_multi_adv_util.h
|
5e808468e0667a6a2a8a1e6de80efbc4f42fa0f0 |
21-Oct-2014 |
Andre Eisenbach <eisenbach@google.com> |
LE: Do not remove bond on encryption failure If the encryption fails during the re-connection process with a previously paired LE device, the pairing is removed. Thus, a single connection failure could lead to the device be unpaired. This patch prevents unpairing when encryption fails. Additionally, the IRK is restored from NV ram to fix reconnection to dual-mode devices. Bug: 18072300 Change-Id: I077a16d0715fdaa07b95b1c664c18bd839754896
tif_dm.h
|
962f1d1f9dc22d939bea4e9fb34a67028ff185fd |
17-Aug-2014 |
Andre Eisenbach <eisenbach@google.com> |
LE: Remove general/limited discoverability bits for non-connectable adv According to the Bluetooth spec, section 9.1.1.2, "A device in the broadcast mode shall not set the ‘LE General Discoverable Mode’ flag or the ‘LE Limited Discoverable Mode’ flag in the Flags AD Type. This patch masks out the specific bits for non-connectable advertisements. Bug: 16924631 Change-Id: Ia2c0011fb31de3e4166a8bd2c2732e50aad3a610
tif_gatt_multi_adv_util.h
|
cf32e8d4e0cabac8432a3c6c6d8ece27d6067770 |
13-Aug-2014 |
Andre Eisenbach <eisenbach@google.com> |
LE: Fix limited advertising not stopping after timeout When starting to advertise with a given timeout, the alarm did not fire and thus not stop the advertising. This patch switchs from the new alarm system to use BTU timers. Also fixes a bug in the oneshot timer handling where adding a new timer with a short timeout value would not actually restart the timer to pull in the deadline. Bug: 16988160 Change-Id: Ia556562675636be440ddca7682ac7d092bc0b48b
tif_gatt_multi_adv_util.h
|
9dd5a9c11f2022fa9709f0c34f04560c21105152 |
08-Aug-2014 |
Andre Eisenbach <eisenbach@google.com> |
LE: Add limited advertising duration capability (2/3) Change-Id: Id2ebc353f1bcd94978c5c8dc55a235c92ebc7658
tif_gatt_multi_adv_util.h
|
16fe0822ccd3eb6f66d3afd9965d25a0a0cb4c30 |
07-Aug-2014 |
Prerepa Viswanadham <dham@google.com> |
Use run time parameters to control LE features Use values read from controller to enable and control LE features such as multi advertising, RPA offload, maximum irk size etc bug 15393216 Change-Id: I193e2b9a0dc61b86f667e986803571440e390160
tif_gatt_multi_adv_util.h
|
b0daa5d79d4e2950701fb9a5f76a306e1da42de0 |
05-Aug-2014 |
Andre Eisenbach <eisenbach@google.com> |
Add transport parameter to createBond() function (2/4) Change-Id: I8176b932da705f8d0a230abd56bc5faa00005eb6
tif_api.h
|
e5ba8841cd39e17c05aeb4ab65b5b761d41577da |
04-Jul-2014 |
Satya Calloji <satyac@broadcom.com> |
LE energy info feature Stack and BT-IF changes for LE energy feature Change-Id: I671e63aaead210c6352b45a5e20ad5e4bbbb77b7
tif_api.h
|
2dc999935d4c69ae31ea93d9014165965dd373d6 |
17-Apr-2014 |
Hemant Gupta <hemantg@codeaurora.org> |
Bluetooth: Support MAP Client role on Bluedroid. Implementation changes from BTA and BTIF layer to support MCE role on Bluedroid stack. Change-Id: I8547b0f28338e83edabae969121872ca23fdcb36
tif_mce.h
|
afa6e1abbedaad8fe854b0f43999b8aeb801af91 |
28-Jun-2014 |
Matthew Xie <mattx@google.com> |
resolved conflicts for merge of e8c3d75b to master Change-Id: I78ef69c4d54a36243620ae14296d3507e3339567
|
5c0b052090a57b3926669c23349b0f0db68853f8 |
18-Jun-2014 |
Andre Eisenbach <eisenbach@google.com> |
LE: Add is_connected() function (2/3) Change-Id: I73c4ea7f13982bf9c208996f9c749d2dfbe698be
tif_api.h
|
e8c3d75b75493911ebf0f99c83676359657178f7 |
04-May-2014 |
Sharvil Nanavati <sharvil@google.com> |
Logging cleanup: BTIF and APPL. Change-Id: I5b1214642bbb4b9aecc0fd2c899a6ec2c9793286
tif_common.h
|
3e8a242fcbeebea2857fa964ca48624d8433333e |
23-May-2014 |
Mike Lockwood <lockwood@google.com> |
More work on A2DP Sink: Output audio data through A2DP audio HAL rather than playing directly to native AudioTrack API. Add separate HAL interface for A2DP sink Change-Id: I6c6cb6088c350e104b4a7354f328b29c7178e295
luetoothTrack.h
tif_av.h
tif_media.h
|
f7dd9f5779680da37dc89e5df2b26d436487818c |
24-Oct-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
Add A2DP Sink Support Change-Id: I9affefdd2d00597545e49c593ef3bddb110d4c9c
luetoothTrack.h
tif_av.h
tif_av_co.h
tif_media.h
tif_profile_queue.h
|
41d4a266ceca77bb09ab1bf5c04c30d15f3ded3a |
19-Aug-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
Bluetooth: Add support for HFP Client role. Implementation changes in BTA and BTIF layer to support HFP Client role. Change-Id: I9f939c18e8f989a50f298d0b313c5a0959c030a7
tif_common.h
tif_util.h
|
fe10dd40a0b5b553467fff293a6addc56e4eae90 |
26-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Update btif_profile_queue to use the list data structure. The profile queue maintains a list of pending connect operations for each profile. If a connect is followed by a disconnect before the queued connect is dispatched, the disconnect will have no effect and the connect will proceed. This code clearly needs to be re-thought; it may be a good idea to abandon the connect queue entirely in the long-run. Change-Id: Ic0e85654abcf7a47f65953edb301eb9524394950
tif_profile_queue.h
|
309243751678f395e6f7323e45433e5476dc17ef |
23-May-2014 |
Mike Lockwood <lockwood@google.com> |
More work on A2DP Sink: Output audio data through A2DP audio HAL rather than playing directly to native AudioTrack API. Add separate HAL interface for A2DP sink Change-Id: I6c6cb6088c350e104b4a7354f328b29c7178e295
luetoothTrack.h
tif_av.h
tif_media.h
|
cc35559160745c60b42ae182002a59337d844d09 |
24-Oct-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
Add A2DP Sink Support Change-Id: I9affefdd2d00597545e49c593ef3bddb110d4c9c
luetoothTrack.h
tif_av.h
tif_av_co.h
tif_media.h
tif_profile_queue.h
|
a6ce7751d84218c193eb90d390aef23217b1737e |
20-May-2014 |
Wei Wang <weiwa@google.com> |
Revert "Revert "LE Multi ADV feature"" This reverts commit ea85048a8e86b1e1b6b725649f6bb0834ba17301. Change-Id: I9a9305db4fabff07b4309a38f65361dca3f5f37c
tif_gatt_multi_adv_util.h
|
ea85048a8e86b1e1b6b725649f6bb0834ba17301 |
20-May-2014 |
Wei Wang <weiwa@google.com> |
Revert "LE Multi ADV feature" This reverts commit 87776cf5e201b18646cbc16f11a7110d5ffe510c. Change-Id: I5b544a5c965999096b665b1bd2edb021e3054be8
tif_gatt_multi_adv_util.h
|
87776cf5e201b18646cbc16f11a7110d5ffe510c |
01-May-2014 |
Satya Calloji <satyac@broadcom.com> |
LE Multi ADV feature BTIF and stack changes for LE multi ADV feature Change-Id: I5e009ff8cbac5fc6f92ca943c61c4faf98e4e2ce
tif_gatt_multi_adv_util.h
|
ffb3960bb05f9acb0717d213612403487e9ad433 |
01-May-2014 |
Satya Calloji <satyac@broadcom.com> |
LE Multi ADV feature BTIF and stack changes for LE multi ADV feature Change-Id: I5e009ff8cbac5fc6f92ca943c61c4faf98e4e2ce
tif_gatt_multi_adv_util.h
|
1025687c6679608fe9df918f37011414ffc72b62 |
19-Aug-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
[2/4] Bluetooth: Add support for HFP Client role. Implementation changes in BTA and BTIF layer to support HFP Client role. Change-Id: I9f939c18e8f989a50f298d0b313c5a0959c030a7
tif_common.h
tif_util.h
|
3542d5a93129b6a8026501f87877017173530ae0 |
26-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Update btif_profile_queue to use the list data structure. The profile queue maintains a list of pending connect operations for each profile. If a connect is followed by a disconnect before the queued connect is dispatched, the disconnect will have no effect and the connect will proceed. This code clearly needs to be re-thought; it may be a good idea to abandon the connect queue entirely in the long-run. Change-Id: Ic0e85654abcf7a47f65953edb301eb9524394950
tif_profile_queue.h
|
550b319b217739808fe95c57aa0f422dbf5db9d1 |
29-Apr-2014 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Resolve Pairing failure with IPhone When pairing is initiated from the iPhone side, it sets Bonding bit without MITM. We responded to this with No bonding, No MITM. This resulted in JustWorks & Unauthenticated link key. After pairing iPhone initiates a RFCOMM connection. This caused a link key upgrade to be done, which the iPhone rejected, resulting in pairing failure. To resolve this the following enhancements were made 1. If locally initiated pairing always set Bonding bit + MITM 2. If remote initiated a. copy over the bonding bit b. if peer has DisplayYesNo set MITM 3. As a fallback if remote had MITM, enable MITM in our response This forces pairing to use Bonding bit+MITM thus resulting in authenticated combination linkkey Change-Id: I08f16c80821bc822023180d01868614ba41e6d88
tif_dm.h
|
7fa4fba6f59f97df00aff07dbe8fb21b114b3c2c |
17-Apr-2014 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Merge BT 4.1 features The features include: - LE Peripheral Mode - Link Layer topology (LE Central & Peripheral Concurrency) - Dual Mode Topology (Ability to choose LE transport when connecting with other Dual Mode devices) - Fast advertising Interval - Limited Discovery Time Changes - GAP Authentication and Lost Bond - Dual Mode Addressing - Common Profile and Service Error Code - 32 bit UUIDs Change-Id: Ic6701da4cf6aaa390ff2c8816b43157f36b7fb42 Conflicts: stack/btu/btu_hcif.c
tif_storage.h
|
8cd229d4765330b554eedd6919b9f41ca7989e7e |
25-Oct-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
HID: Parse paired hid devices from bluez. This patch adds support for parsing SDP records of paired HID devices from bluez device storage path and store the parsed hid sdp data into bluedroid storage path. Without this patch, it was not possible to have paired HID devices during upgrade from BlueZ to Bluedroid Stack. Change-Id: I7db4a801f3cf9ca46fc0eabfd929e8d7c16b5edb
tif_config_util.h
|
4186b0ec7e0b7efe17c3b7cb8546ff359e099408 |
07-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Add flow control for PAN. This change reads from the TAP fd only when btpan_cb.flow == 1. The value of this flag changes based on L2CAP congestion events. http://b/13246629 Change-Id: Ic28bf65737dbd74c41b68198fceee58e3bff08d4 Conflicts: btif/src/btif_pan.c
tif_pan_internal.h
|
b203d478f4835f5e35217874a1787e1914328f7c |
21-Nov-2013 |
Andre Eisenbach <andre@broadcom.com> |
LE: Add controller based advertising filter API (2/2) Change-Id: I444654bf19a048d5fcef33f79edbf1cdda3d3b62
tif_gatt_util.h
|
54db2c249efa91082c5a167a924a527ec73ff38d |
13-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Remove executable bit on source files. Change-Id: Id456478aea626f57fed3479346e8fb4dbd0fafa6
tif_media.h
tif_util.h
|
a217ab9a0294a8285641b141efccf7d54b437a33 |
29-Apr-2014 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Resolve Pairing failure with IPhone When pairing is initiated from the iPhone side, it sets Bonding bit without MITM. We responded to this with No bonding, No MITM. This resulted in JustWorks & Unauthenticated link key. After pairing iPhone initiates a RFCOMM connection. This caused a link key upgrade to be done, which the iPhone rejected, resulting in pairing failure. To resolve this the following enhancements were made 1. If locally initiated pairing always set Bonding bit + MITM 2. If remote initiated a. copy over the bonding bit b. if peer has DisplayYesNo set MITM 3. As a fallback if remote had MITM, enable MITM in our response This forces pairing to use Bonding bit+MITM thus resulting in authenticated combination linkkey Change-Id: I08f16c80821bc822023180d01868614ba41e6d88
tif_dm.h
|
8fe58875ce67c6e1099e7ba2339dcd2b979491b0 |
17-Apr-2014 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Merge BT 4.1 features The features include: - LE Peripheral Mode - Link Layer topology (LE Central & Peripheral Concurrency) - Dual Mode Topology (Ability to choose LE transport when connecting with other Dual Mode devices) - Fast advertising Interval - Limited Discovery Time Changes - GAP Authentication and Lost Bond - Dual Mode Addressing - Common Profile and Service Error Code - 32 bit UUIDs Change-Id: Ic6701da4cf6aaa390ff2c8816b43157f36b7fb42
tif_storage.h
|
fbaeb4a7b64a89c08a98b53766e250eb7bad8830 |
25-Oct-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
HID: Parse paired hid devices from bluez. This patch adds support for parsing SDP records of paired HID devices from bluez device storage path and store the parsed hid sdp data into bluedroid storage path. Without this patch, it was not possible to have paired HID devices during upgrade from BlueZ to Bluedroid Stack. Change-Id: I7db4a801f3cf9ca46fc0eabfd929e8d7c16b5edb
tif_config_util.h
|
496765df63a103d46aff536f9e1c094bf58d52b7 |
21-Apr-2014 |
Zhihai Xu <zhihaixu@google.com> |
Merge "Fix GKI exception of calling free on an already freed buffer" into klp-wireless-dev
|
c0f7987d626a70b1a23a28348ece8be69ce61a16 |
25-Feb-2014 |
Zhihai Xu <zhihaixu@google.com> |
Fix GKI exception of calling free on an already freed buffer Various parts of btif_hh.c were creating GKI buffers and keeping references to them and freeing them in odd and unnecessary ways. The buffer is freed by lower levels of the stack once the buffer has been sent to the chip at the l2c layer and shouldn't be freed by btif_hh itself since it's possible to double free, and there could also be race conditions with other threads already processing the buffer while the reference is freed if the API calls are invoked again before the previous invocation was completely processed. Also added a helper routine to simplify buffer creation and initialization. Change-Id: Ia6039983502e2670b2325d90310244edf843b692 Signed-off-by: Mike J. Chen <mjchen@google.com>
tif_hh.h
|
17888ed7fa01bf266e3847b308f4091fd93f719c |
21-Apr-2014 |
Zhihai Xu <zhihaixu@google.com> |
Merge "bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db" into klp-wireless-dev
|
6efaf223753108aa84f55332898340db0c9d5ebf |
27-Jan-2014 |
Zhihai Xu <zhihaixu@google.com> |
bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db Store the ssr_max_latency and ssr_min_tout parameters in the bonding database. Previously these parameters were not stored for HID devices. This caused an inconsistency in sniff behavior between when the HID device was paired and following a reboot of the host. When the HID device is paired the SSR parameters are retrieved from the HID device and are stored in the HID Host's device list. If the host is rebooted then the HID Host's device list is constructed from the bonding database. If the SSR max latency is non-zero then the SSR parameters are sent to the firmware and SSR is used. In the event that the SSR max latency is 0, as it is if the parameters are not found, then SSR is disabled. Bug: 12764547 Change-Id: I63637575fdfcf4cb4ca0ce8dc2e4ccda9cccaf66 Signed-off-by: Adam Hampson <ahampson@google.com>
tif_storage.h
|
f4b8f8aa313d3b7d88b683bfe0e5f9eb0a29b3b3 |
07-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Add flow control for PAN. This change reads from the TAP fd only when btpan_cb.flow == 1. The value of this flag changes based on L2CAP congestion events. http://b/13246629 Change-Id: Ic28bf65737dbd74c41b68198fceee58e3bff08d4 Conflicts: btif/src/btif_pan.c
tif_pan_internal.h
|
2d75441cc17236564a431c6a5fc4c9e356fb7294 |
21-Nov-2013 |
Andre Eisenbach <andre@broadcom.com> |
LE: Add controller based advertising filter API (2/2) Change-Id: I444654bf19a048d5fcef33f79edbf1cdda3d3b62
tif_gatt_util.h
|
d2ccbbb73c7851d2fa28dc212d2fffc0ad4e5d50 |
13-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Remove executable bit on source files. Change-Id: Id456478aea626f57fed3479346e8fb4dbd0fafa6
tif_media.h
tif_util.h
|
bbd585e19920a0eaa209057a5c4f97ead9063fee |
05-Mar-2014 |
Mike J. Chen <mjchen@google.com> |
am 8dfc3e29: am 84516150: am be6d58f3: Fix GKI exception of calling free on an already freed buffer * commit '8dfc3e2992456539ee6c740199f543cdb0d5a9d3': Fix GKI exception of calling free on an already freed buffer
|
be6d58f35e66b9e57cf4978be68840cbc8ac2fc9 |
25-Feb-2014 |
Mike J. Chen <mjchen@google.com> |
Fix GKI exception of calling free on an already freed buffer Various parts of btif_hh.c were creating GKI buffers and keeping references to them and freeing them in odd and unnecessary ways. The buffer is freed by lower levels of the stack once the buffer has been sent to the chip at the l2c layer and shouldn't be freed by btif_hh itself since it's possible to double free, and there could also be race conditions with other threads already processing the buffer while the reference is freed if the API calls are invoked again before the previous invocation was completely processed. Also added a helper routine to simplify buffer creation and initialization. Change-Id: Ia6039983502e2670b2325d90310244edf843b692 Signed-off-by: Mike J. Chen <mjchen@google.com>
tif_hh.h
|
0977fc84e0314b7b71668885a433f5ad4b6ec49c |
26-Feb-2014 |
Matthew Xie <mattx@google.com> |
am e736740d: am 5834e63b: am 759280ee: Merge "bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db" into klp-modular-dev * commit 'e736740ded718c76c0007baa97b7f55e69ceb1b1': bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db
|
759280ee1f92945ed7c1c13f5ff8a037fa3bf3e4 |
26-Feb-2014 |
Matthew Xie <mattx@google.com> |
Merge "bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db" into klp-modular-dev
|
ffc69cc3173ffc190fd77686ae12cf3fa95a5b07 |
22-Feb-2014 |
Matthew Xie <mattx@google.com> |
Merge "Bluetooth: Cleanup bt_config.xml during BLE Scan"
|
377cb1407ee6ee1ff91b15bfa7052abed1023d18 |
20-Nov-2013 |
Sunny Kapdi <sunnyk@codeaurora.org> |
Bluetooth: Cleanup bt_config.xml during BLE Scan BLE Scan needs to clean up the bt_config.xml periodically so that new entries could be added to bt_config.xml. Also, there is no need to add BLE Random bd_addr to the bt_config.xml Change-Id: I00ba2e50dd39a021099052cb569786f6cb2cc8b9 b/12912008
tif_storage.h
|
60126e439e01a30d6121a55aaf6d3a5d6d400507 |
01-Feb-2014 |
Mike J. Chen <mjchen@google.com> |
Add macro UNUSED() to bt_utils.h Also include bt_utils.h in some other header files commonly included by some subsystems. Change-Id: I1e6be2abae503c4303c92d97eeeb29981beacd10 Signed-off-by: Mike J. Chen <mjchen@google.com>
tif_util.h
|
8a82348c04109cb85e3c0b676dd1c7c5cb461c24 |
27-Jan-2014 |
Adam Hampson <ahampson@google.com> |
bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db Store the ssr_max_latency and ssr_min_tout parameters in the bonding database. Previously these parameters were not stored for HID devices. This caused an inconsistency in sniff behavior between when the HID device was paired and following a reboot of the host. When the HID device is paired the SSR parameters are retrieved from the HID device and are stored in the HID Host's device list. If the host is rebooted then the HID Host's device list is constructed from the bonding database. If the SSR max latency is non-zero then the SSR parameters are sent to the firmware and SSR is used. In the event that the SSR max latency is 0, as it is if the parameters are not found, then SSR is disabled. Bug: 12764547 Change-Id: I63637575fdfcf4cb4ca0ce8dc2e4ccda9cccaf66 Signed-off-by: Adam Hampson <ahampson@google.com>
tif_storage.h
|
306bddadeec993013cfed6bf0e41a1a47a69367c |
07-Nov-2013 |
Andre Eisenbach <andre@broadcom.com> |
LE: Add devices to the inquiry db before connecting Ensure that the remote device type is set correctly by reading the device information from non-volatile storage and (re-)adding it to the inquiry database before connecting to a remote GATT device. bug 11573208 Change-Id: Ifa69da3d5871aed5293ea5e611144874b67afe72
tif_gatt_util.h
|
7939ed0c9a50c769e9e648a2d7751e0894b485ed |
28-Sep-2013 |
zzy <zhenye@broadcom.com> |
added filter remove api to control the # of child node for bt_config.xml Bug 10949832 Change-Id: I10589b9d0a0b4b8d7cbf66122c66bb2e99be04a1
tif_config.h
|
379743beded881127703334e1dda2cd327ec651d |
29-Sep-2013 |
Zhihai Xu <zhihaixu@google.com> |
Failure to start playback on A2DP sink after connection This is what happen: after Headset is connected, we call start_audio_datapath which will send AVDTP_Start command to Headset, Headset reject it with bad state. Bluedroid stack will ack failure to start_audio_datapath. The next time we write audio data to bluetooth, we will call start_audio_datapath again to send AVDTP_Start command to Headset Headset reject it with bad state again. Bluedroid stack will ack failure to start_audio_datapath. When the third time we call start_audio_datapath, right at that time we receive AVDTP_Start command from Headset. Handle AVDTP_Start command and Handle start_audio_datapath are in two different threads. Handle AVDTP_Start command is in btu_task thread. Handle start_audio_datapath() is in btif_task thread. We have race condition in this case Because when btif_task processed BTIF_AV_START_STREAM_REQ_EVT(triggered by start_audio_datapath), it don't know we receive AVDTP_Start command which is processed in btu_task. btif_task will send a message BTA_AV_API_START_EVT to btu_task, which will be handled by bta_av_do_start. AVDTP_start command from headset is handled by bta_av_start_ok. bta_av_start_ok will send BTA_AV_START_EVT with suspending true to btif_task and send AVDTP_Suspend command to headset to suspend the AVDTP for reconfiguration purpose. in bta_av_do_start, we will check whether the AVDTP is already started, we will know the AVDTP is already start at this time because bta_av_do_start is also running in btu_task. We will send BTA_AV_START_EVT with success to btif_task. In the btif_task, BTA_AV_START_EVT will be processed by btif_av_state_opened_handler: For the first BTA_AV_START_EVT with suspending true sent by bta_av_start_ok, it will ignore it: if ((p_av->start.status == BTA_SUCCESS) && (p_av->start.suspending == TRUE)) return TRUE; For the second BTA_AV_START_EVT with success sent by bta_av_do_start , it will ack success to start_audio_datapath, and change to BTIF_AV_STATE_STARTED/BTAV_AUDIO_STATE_STARTED, after receive success ack from bluedroid stack, we will start send Audio data to bluetooth. At last we received AVDTP_Suspend response accept from Headset, we will send BTA_AV_SUSPEND_EVT to btif_task, which will be handled by btif_av_state_started_handler. It will call btif_a2dp_on_suspended and call audio_state_cb with new audio state BTAV_AUDIO_STATE_STOPPED. so The state between bluedroid stack and audio data path is out of sync. The fix is to send failure message if we know we suspend AVDTP in bta_av_do_start, also make sure we won't miss acknowledgement for pending start if we exit opened state, to avoid audio data path dead lock. bug:10953908 Change-Id: I1704839977324b7c4e234eb843cddf3719e10d2c
tif_media.h
|
b8ceaa484a09be14263d5f10d022a272f9602378 |
05-Apr-2013 |
Mattias Agren <magren@broadcom.com> |
Set default a2dp sbc encoding quality to high * Increased bitpool to high quality setting (53). * Added rate quality reduction to medium quality for basic rate connections * Enhanced a2dp frame calculation ratio to smooth out frame distrubution * Removed iop scaling patch. Bug 8252054 Change-Id: I20725d0decfe5f820e1c03407889b6272e830aca
tif_av.h
tif_media.h
|
c8a9f438cd994a7e69aa7fa957e0b9139bfdb912 |
22-May-2013 |
Priti Aghera <paghera@broadcom.com> |
Incremented buffer size to accomodate default MTU L2CAP Config request was not sent from Bluedroid as the MTU size was higher than the max buffer size for default apdu tx/rx sizes. Incremented the buffer size to accomodate this default MTU size. Also included new datatypes and corresponding tx/rx apdus. This will set the MTU size to that defined in datatype config rather than selecting default value. b/10565872 Change-Id: Id469c836581fb3d020bcb88c381421e0ef965073
tif_hl.h
|
ace8d679f68cfab4c022d00afc7e5daafc74a4fd |
12-Jul-2013 |
Andre Eisenbach <andre@broadcom.com> |
LE: Check encryption state before starting encryption Previously, the btif layer kept track of when a link was encrypted using an internal list to track encryptino callbacks. This change switches to querying the stack for the actual encryption state, since the btif layer may not receive all encryption related callbacks. Bug: BLTH02382147 Change-Id: I426b87d77e9a18531c2d42733a7e736a73bb116f
tif_gatt_util.h
|
5f9c140d094ebf4a269cdc6ae083900bf25f7fae |
09-Jul-2013 |
Andre Eisenbach <andre@broadcom.com> |
LE: Add instance ID to descriptors (2/4) If a remote devices offers multiple descriptors with the same UUID, the instance ID is used to differentiate between them. Change-Id: I1f3c284d714719fe9fb9cbb297c70a061c62a96d
tif_gatt_util.h
|
8444d1e649864c28b0c124bc2d16f7c153f01f14 |
17-Apr-2013 |
Andre Eisenbach <andre@broadcom.com> |
LE: Deep copy buffers when transfering client context Certain BTA client event types require a deep copy of the request data buffers when transfering context. Shallow copy of the pointers involved may cause a crash when overlapping read and write requests are received. Change-Id: Id59b034d7fdd28087695a0688caff66b4cef4a4d
tif_gatt_util.h
|
153767ee55e16c45235e590305bdbc0ba952da63 |
19-Jul-2013 |
Matthew Xie <mattx@google.com> |
Bluetooth MAP profile - sms and mms support initial check-in bug:10116530 Change-Id: I3bff487fdc0ee1256afa8d704a2cfa788081208c
tif_sock_sdp.h
|
292d9f5a84da312a13ce3e881cd3df09bc492882 |
26-Jul-2013 |
Zhihai Xu <zhihaixu@google.com> |
Merge "Add debug menu to enable btsnoop"
|
390c94dc0f9deee917f52caaf3f8bb9f79aa98b4 |
16-May-2013 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Removed COD check for unbond and UNPAIRED_EVT PC supporting HID Device would not have Peripheral as its MAJOR COD. So COD check for major peripheral device was removed in case of UNBOND and while receiving UNPAIRED_EVT. Additonal checking is done when virtual unplug evt is received to remove bonding only for HID Devic with MAJOR COD as Peripheral or if its a locally initiated VUP. Change-Id: I5343919463e48babc9cd03e05ff92a3f93f6d26d
tif_hh.h
|
bad70b1d0071ee9b16a029ff145e8e53038571ff |
05-Jun-2013 |
Zhihai Xu <zhihaixu@google.com> |
Add debug menu to enable btsnoop bug: 8059358 Change-Id: I232f6d47e7fb7e9c4d71c119394fce3e72cd02fc
tif_api.h
|
5fd74f06caab4324d0ba69df86ad5170c072ec64 |
05-Apr-2013 |
Mattias Agren <magren@broadcom.com> |
Stability fixes for a2dp hal control path Ensure av statemachine is preventing a2dp hal to restart the stream when not ready. This prevents ending up in a scenario where a2dp hal locks up. Code cleanup. bug 7002859 Change-Id: I3f3eeaab4ca185733b8b0042ed2cfa701f76a203
tif_media.h
|
f8f30c2cecf221b2c3983b72d5a849d799c39dd7 |
03-Apr-2013 |
Priti Aghera <paghera@broadcom.com> |
HDP fix for Single SDP record Modified stack code to support single SDP record for each register app call. bug 8656462 Change-Id: I92570243306d5c1ca8339042eba5733e43fdb72c
tif_hl.h
|
33af35c49731bc8e305c862c8e9f3e42a1ab0dc9 |
10-Apr-2013 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Fix for Nyko playpad Nyko playpad does not cmply with HID Device spec. NYKO gamepad advertises as supporting virtual unplug but when virtual is sent by host it responds with ERR_UNSUPPORTED_REQUEST. Modified BTIF code to start a timer when VUP is issued and fire the timer if peer does not respond. Bug:8055549 Change-Id: I90db956fb243f1a518b00424b103ebf9f0a1b7f0
tif_hh.h
|
9adddf4965e9ddb01e339b934c343fcbd842a977 |
06-Mar-2013 |
Ravi Nagarajan <nravi@broadcom.com> |
Initial version of Stack for AVRCP 1.3 BTIF and stack changes for supporting AVRCP 1.3 Change-Id: Id02eb7b6a385683cedc41c62b6f829f5d7620bd4
tif_av.h
tif_util.h
|
ead3cde4bac0c3e32cd31f149093f004eef8ceeb |
06-Feb-2013 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Initial version of BLE support for Bluedroid Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
tif_api.h
tif_common.h
tif_dm.h
tif_gatt.h
tif_gatt_util.h
tif_hh.h
tif_storage.h
tif_util.h
input.h
|
689d66b6559dcb3a0ad7f6cc33b6129e50910253 |
13-Dec-2012 |
The Android Open Source Project <initial-contribution@android.com> |
Snapshot 9fd57cbacd95e89602f430244c35bbc67f08b6d2 Change-Id: Ibc3a4bf4161d286c7cfab89a19c676eb5cc9224f
tif_common.h
tif_hh.h
|
5738f83aeb59361a0a2eda2460113f6dc9194271 |
13-Dec-2012 |
The Android Open Source Project <initial-contribution@android.com> |
Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879baf Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d
tif_api.h
tif_av.h
tif_av_api.h
tif_av_co.h
tif_common.h
tif_config.h
tif_config_util.h
tif_dm.h
tif_hh.h
tif_hl.h
tif_media.h
tif_pan.h
tif_pan_internal.h
tif_profile_queue.h
tif_sm.h
tif_sock.h
tif_sock_rfc.h
tif_sock_sdp.h
tif_sock_thread.h
tif_sock_util.h
tif_storage.h
tif_util.h
input.h
|