• Home
  • History
  • Annotate
  • only in /external/bluetooth/bluedroid/btif/include/
History log of /external/bluetooth/bluedroid/btif/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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