History log of /system/bt/stack/btm/btm_ble_int.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cac784d772db7f42dc93acafb18e5d71617c04f3 01-Feb-2016 Jakub Pawlowski <jpawlowski@google.com> Keep sec_dev_rec in list instead of static array

This reduces the computational complexity of most BLE operations.

Change-Id: Ife35a50d9ef3467abdc5259c2712bf5d85b8f909
/system/bt/stack/btm/btm_ble_int.h
7db2548c0346c1d33a46cc35b250e71fd24adae4 03-Feb-2016 Andre Eisenbach <eisenbach@google.com> Revert "Keep sec_dev_rec in list instead of static array"

Breaks pairing...

This reverts commit c9f86da73bfb637426c83b86497c50fede4e0f63.
/system/bt/stack/btm/btm_ble_int.h
d36b421035fe3b7d086f5d7737d8ba9fbdc471b3 03-Feb-2016 Jakub Pawlowski <jpawlowski@google.com> Make autoconnect work properly for devices not having security record

Change-Id: I16f71da85afe780383a5d84a904b44aabe4af9f7
/system/bt/stack/btm/btm_ble_int.h
c9f86da73bfb637426c83b86497c50fede4e0f63 01-Feb-2016 Jakub Pawlowski <jpawlowski@google.com> Keep sec_dev_rec in list instead of static array

This reduces the computational complexity of most BLE operations.

Change-Id: I3997b414680ff4288091b1ddf00ec1ef1c4453fb
/system/bt/stack/btm/btm_ble_int.h
f40b136e7b943d7e25224817fc47bb5b171479d5 26-Jan-2016 Andre Eisenbach <eisenbach@google.com> Add explicit sec_act parameter to encryption requests

This avoids de-referencing a potentially NULL pointer (p_ref_data) and
also makes the use of the parameter more obvious.

Also added NULL check before invoking security callback.

Bug: 26792899
Change-Id: I6613c9c2706f1d460ab39421a967d79c59ad0fde
/system/bt/stack/btm/btm_ble_int.h
78bcff79e1b1f0efce436b33bdd6da88745bfc8a 05-Dec-2015 Pavlin Radoslavov <pavlin@google.com> Refactor the Bluetooth timers

* Updated the alarm API:
- Existing API alarm_new() is modified to take an alarm name
as an argument.
- New API alarm_new_periodic() is used to create a periodic
alarm.
- Added new API alarm_is_scheduled() to test whether an alarm is
scheduled.
- Existing API alarm_set_periodic() is removed: a periodic
alarm is created by alarm_new_periodic().
- Added new API alarm_set_on_queue() to set an alarm whose
callback is executed on a specific queue.
- Added new API alarm_register_processing_queue() and
alarm_unregister_processing_queue() to register/unregister
a queue and the corresponding thread for alarm processing.
- Added corresponding unit tests.

* Updated the alarm internals:
- Added alarm_info_t for collecting alarm-related information
and statistics.
- Collect and store alarm-related statistics into alarm_info_t
per alarm.
- Include the alarm-related statistics and info into the native
dumpsys output for Bluetooth.
- Once an alarm expires, the alarm execution is scheduled for
processing on another internal alarm-specific thread, not
on the thread that is maintaining the alarms.
- Implemented callback execution ordering guarantee among
timers on the same thread with exactly same timeout values.

* Refactor some of the usage of alarm_set() and simplify the
code by using alarm_set_on_queue() instead.

* Removed the non_repeating timers wrapper, and use directly
the alarm mechanism / API.

* Refactored all timer_entry_t timers and replaced them with alarm_t
timers:
- Replaced the btu_start_timer() / btu_stop_timer() /
btu_start_quick_timer() / btu_stop_quick_timer() /
btu_oneshot_alarm() mechanism with alarm_set_on_queue() and
alarm_cancel()
- Removed the whole mechanism around the BTU_TTYPE_* timers.

* Fixed a bug when processing the GATT indication confirmation timer
expiration (timer tGATT_TCB.conf_timer: b/26610829).

* Renamed and/or split misc. timeout functions, fields, and timers

* Renamed time-related constants and changed the values from seconds
to milliseconds

* Replaced timer tAVDT_CCB.timer_entry with three mutually exclusive timers:
idle_ccb_timer, ret_ccb_timer, rsp_ccb_timer
The reason we are using three timers, is because in the original code
function avdt_ccb_chk_timer() used the timer type in its logic: it
would stop the timer only if the type is "idle".

* Removed btm_ble_timeout() and replaced it with multiple timeout
callback functions (per timer)

* Fix the actual value of the global constant BT_1SEC_TIMEOUT and
rename it to BT_1SEC_TIMEOUT_MS

* Removed btu_cb and associated timers and events, because they are
never used.

* Removed unused timers, functions, struct and declarations that are
not used / needed.

Bug: 26611369
Bug: 26610829

Change-Id: I812c8c31710a5daefc58b01fcf35c353768f390f
/system/bt/stack/btm/btm_ble_int.h
258c2538e3b62a8cdb403f2730c45d721e5292b4 28-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - moved GKI buffer allocation wrappers to OSI

* Moved the following GKI buffer allocation functions to OSI:
- GKI_getbuf() -> osi_getbuf()
- GKI_freebuf() -> osi_freebuf()
- GKI_get_buf_size() -> osi_get_buf_size()

For now we need the osi_getbuf() / osi_freebuf() allocation wrapper,
because we need to be able to call osi_get_buf_size() on the allocated
buffer.
In the future those should be replaced with osi_malloc() / osi_free().
Currently, the osi_malloc() buffer size internal allocation tracker
does not always track the size, hence we need the osi_getbuf() wrapper.

* Replaced GKI_MAX_BUF_SIZE with BT_DEFAULT_BUFFER_SIZE

* Added new file include/bt_common.h that can be usee to include
few files that should be included alost everywhere (e.g. bt_target.h"
NOTE: This file might be removed in the future and we should include
everywhere the right set of header files.

* Removed some of the GKI-related references

* Removed file include/gki_target.h

Change-Id: Ie87830e73143de200746d54235aa99f228a95024
/system/bt/stack/btm/btm_ble_int.h
9f1c9ad85759c7663e3bbc494f8e75b2f107da67 28-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - Moved struct TIMER_LIST_ENT to OSI

* Moved struct TIMER_LIST_ENT to file osi/include/non_repeating_timer.h
and renamed it to timer_entry_t
NOTE: This is a short-term solution. timer_entry_t should be
removed, and its usage everywhere should be replaced by
struct non_repeating_timer_t .
* Renamed TIMER_CBACK to timer_callback_t
* Renamed TIMER_PARAM_TYPE to timer_param_t

Change-Id: I9ca830718bf900195f9c0a513a97f6995322693b
/system/bt/stack/btm/btm_ble_int.h
1a3844f933bd63c8a381371dabfb35c6a0249e3e 25-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - Replaced usage of GKI queue with OSI fixed_queue

* Added new functions to OSI:
- fixed_queue_init()
- fixed_queue_length()
- fixed_queue_try_remove_from_queue()
- fixed_queue_try_peek_last()

* Renamed fixed_queue_try_peek() to fixed_queue_try_peek_first()

* Replaced usage of GKI queue functions with OSI fixed_queue functions:
- GKI_init_q() -> fixed_queue_new(SIZE_MAX)
NOTE: unlike GKI_init_q(), fixed_queue_new() allocates memory /
state that needs to be released by calling fixed_queue_free()
- GKI_enqueue() -> fixed_queue_enqueue()
- GKI_dequeue() -> fixed_queue_try_dequeue()
NOTE: fixed_queue_try_dequeue() is non-blocking
- GKI_queue_length() -> fixed_queue_length()
- GKI_queue_is_empty() -> fixed_queue_is_empty()
- GKI_getfirst() -> fixed_queue_try_peek_first()
- GKI_getlast() -> fixed_queue_try_peek_last()
- GKI_remove_from_queue() -> fixed_queue_try_remove_from_queue()
- Queue elements iteration.
In the fixed_queue implementation we have to use the underlying
list_t mechanism to iterate over the elements.
OLD:
p = GKI_getfirst(queue);
...
while ((p = GKI_getnext(p) != NULL) {
...
}
NEW:
list_t *list = fixed_queue_get_list(queue);
for (const list_node_t *node = list_begin(list);
node != list_end(list); node = list_next(node)) {
p = list_node(node);
}

* Remove initialization of the GKI module, because it is not needed
anymore

* Removed unused files in GKI:
gki/common/gki_common.h
gki/ulinux/gki_int.h
gki/ulinux/gki_ulinux.c

Change-Id: I3ff9464db75252d6faf7476a9ca67c88e535c51c
/system/bt/stack/btm/btm_ble_int.h
11e6c2939f63398e86757d08eac32ef1d4f89fdf 30-Sep-2014 Nitin Arora <niarora@codeaurora.org> Configure Bluetooth Low Energy scan parameters correctly

This patch ensures that Bluetooth Inquiry uses the low latency
scan parameters, and the scan params set by the Apps for LE scan
are retained and set at the end of a BT inquiry.

Bug: 21896912
Change-Id: Iaf9e47330393cc1e0c21c625e8e07ce933506983
/system/bt/stack/btm/btm_ble_int.h
877123f5b9df90e7a71ea7b15997c521229decc1 24-Apr-2015 Satya Calloji <satyac@broadcom.com> Static address is seen on scanner after unpairing

Fix for bonded devices that cannot be removed from resolving list when
scanning, advertising or when a connection is being initiated.
Suspend all active adv, scanning or connection initiation upon
completion of any resolving list operation.

Original author: Chaojing Sun <cjsun@broadcom.com>
Change-Id: Id104dace2944b1878eaf65b93aba3d01e477191d
/system/bt/stack/btm/btm_ble_int.h
5725fc6d2c639a8c22a08b9b6629309eeda3715e 31-Mar-2015 Satya Calloji <satyac@broadcom.com> LE low power scan feature

LE low power extended scan feature stack changes
based on Google BLE spec v0.95

Bug: 20029342
Change-Id: I1db2d9bb648295340d0e93ca89d27e1b938d33d3
/system/bt/stack/btm/btm_ble_int.h
e28055315f96c0d06e73a66a9bb06df85247b5a7 22-Apr-2015 Chaojing Sun <cjsun@broadcom.com> Cross transport key mapping fixes

Change-Id: I22d97303054eccc876c4a9c7c0a50e369ff4fa62
/system/bt/stack/btm/btm_ble_int.h
b8b3e8070ad027e7a45ca5048ae807c4ec099b15 18-Apr-2015 Priti Aghera <paghera@broadcom.com> Initialize white list size after stack reset

The white list size is not currently set correctly, preventing devices
from being added to the LE whitelist, thus completely breaking
re-connects.

This fixes the white list management and propagates the correct reason
code for HID close events to make sure a device is re-added to the white
list if necessary.

Bug: 20290744
Change-Id: I46d7254ff3568c9964688cb192b9deb6b7d3062d
/system/bt/stack/btm/btm_ble_int.h
444a8da807abaf5f9e813ce70c56a79160495fb3 06-Mar-2015 Satya Calloji <satyac@broadcom.com> LE Privacy 1.2 and LE secure connections

Bug: 19816438
Original author: Chaojing Sun <cjsun@broadcom.com>
Change-Id: I5951f4d4e038f8348a62aa6d19b2111bae0b3ecc
/system/bt/stack/btm/btm_ble_int.h
24933b5b1a06274c47133debac5251a97128a267 25-Sep-2014 June R. Tate-Gans <jtgans@google.com> Removing unnecessary BTAPI #defines.
/system/bt/stack/btm/btm_ble_int.h
b5c2cdc900b368a45401cadb6fa00cd2ce574d61 06-Dec-2013 Nitin Arora <niarora@codeaurora.org> Remove HOGP device from background connection list

This adds logic to remove the device from whitelist when user unpairs or
disconnects device.
Bug: 17318494
Change-Id: I43c06dd16c665f9ce2e71a0e031c4f0f11a4012e
/system/bt/stack/btm/btm_ble_int.h
24adb37e4106bf8544c7729d34451fdf2777c4dc 10-Sep-2014 Priti Aghera <paghera@broadcom.com> host cannot recover when connection exceed controller capability

Host can not initiate new connection when exceed controller capability
and connection then drop back to lower than the max. Controller will not
generate connection complete event when initaite LE ll connection request
failed, and host is dead loop waiting for the connection complete
then can not recover. Included a connection complete callback with failure
status when controller capability is exceeded.

bug 17326529
Change-Id: I9b863578dc868456e092f1d060e50d2c9fdcb441
/system/bt/stack/btm/btm_ble_int.h
adb7bb50469db992969295792a7ba3b73f9e24b3 13-Aug-2014 Satya Calloji <satyac@broadcom.com> GKI_exception on running longer batch scans

Fixed GKI memory leak in btif_gatt_client.c file
besides few needed logic improvements which will
help in preventing leaks on exception conditions

Bug:16829603
Change-Id: Id39267fbedeb7435cdc2c3a9eda25d4b3cd82c2f
/system/bt/stack/btm/btm_ble_int.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
/system/bt/stack/btm/btm_ble_int.h
4a7ad9be81cc2b515502f2c1fb1b7ec7e3104146 30-Jul-2014 Satya Calloji <satyac@broadcom.com> Tx power is 0 in ADV packet

b/15412969 Tx power is always 0 in advertising packet

Change-Id: I7eb1f16b5fb1ab4ed669ba6a72f9603885cebc99
/system/bt/stack/btm/btm_ble_int.h
1a9247a1229aa65b3d1dce16426177bc5828e54d 05-Jun-2014 Satya Calloji <satyac@broadcom.com> LE ADV Filter changes

BTIF and stack layer changes for ADV filter feature

Change-Id: I865e57c41802751e172248547b8510598261ec94
/system/bt/stack/btm/btm_ble_int.h
c4e2596a112a0dd63ac681b1226548c0f95e828c 11-May-2014 Satya Calloji <satyac@broadcom.com> LE batch scan feature

BTIF and stack changes for batch scan feature

Change-Id: I4dd2d551435e9f1f0e43906bd695294e97ed4bba
/system/bt/stack/btm/btm_ble_int.h
ed534e330bf63c72e778fc8daae09ddd63c395b2 20-May-2014 Wei Wang <weiwa@google.com> Revert "Revert "LE: Add RRA offloading and vendor specific PCF commands""

This reverts commit 146bb736bc1cdfd679bbafcf3f33c7af612096b9.

Change-Id: Ie4e6b4d7118a622d04c46623add1073906366edf
/system/bt/stack/btm/btm_ble_int.h
a6ce7751d84218c193eb90d390aef23217b1737e 20-May-2014 Wei Wang <weiwa@google.com> Revert "Revert "LE Multi ADV feature""

This reverts commit ea85048a8e86b1e1b6b725649f6bb0834ba17301.

Change-Id: I9a9305db4fabff07b4309a38f65361dca3f5f37c
/system/bt/stack/btm/btm_ble_int.h
ea85048a8e86b1e1b6b725649f6bb0834ba17301 20-May-2014 Wei Wang <weiwa@google.com> Revert "LE Multi ADV feature"

This reverts commit 87776cf5e201b18646cbc16f11a7110d5ffe510c.

Change-Id: I5b544a5c965999096b665b1bd2edb021e3054be8
/system/bt/stack/btm/btm_ble_int.h
146bb736bc1cdfd679bbafcf3f33c7af612096b9 20-May-2014 Wei Wang <weiwa@google.com> Revert "LE: Add RRA offloading and vendor specific PCF commands"

This reverts commit 15fa3be8ecd576b9ef88e20cf9a6f4bd765cbc6b.

Change-Id: Iaa484508ac664d4cb6c94758c2984d53263a902a
/system/bt/stack/btm/btm_ble_int.h
15fa3be8ecd576b9ef88e20cf9a6f4bd765cbc6b 12-May-2014 Satya Calloji <satyac@broadcom.com> LE: Add RRA offloading and vendor specific PCF commands

Change-Id: Iadca8e73ceaadcd0429421ea70f1b76644e88c42
/system/bt/stack/btm/btm_ble_int.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
/system/bt/stack/btm/btm_ble_int.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
/system/bt/stack/btm/btm_ble_int.h
b203d478f4835f5e35217874a1787e1914328f7c 21-Nov-2013 Andre Eisenbach <andre@broadcom.com> LE: Add controller based advertising filter API (2/2)

Change-Id: I444654bf19a048d5fcef33f79edbf1cdda3d3b62
/system/bt/stack/btm/btm_ble_int.h
d8e52271f693c969266289e0e2b785c2de5df031 01-Feb-2014 Mike J. Chen <mjchen@google.com> Add a function prototype for btm_ble_test_command_complete

To fix warning about implicit declaration when compiling btu_hcif.c

Change-Id: Ia07ae3036c65928b6981becb12e18115f0af7769
Signed-off-by: Mike J. Chen <mjchen@google.com>
/system/bt/stack/btm/btm_ble_int.h
6975b4d711142b885af479721cada448952c6b41 06-Aug-2013 Andre Eisenbach <andre@broadcom.com> LE: UPF 45 bug fixes

This change fixes the following issues:
- Second GATT-over-BR/EDR channel cannot be established when there
already is an existing GATT-over-BR/EDR channel
- If encryption fails for an LE connection due to a missing key,
the security state is not being cleared and blocks all further
security processing
- When DM discovery of an LE Peripheral device fails with a
connection timeout, no further discovery requests can be made
- GATT service discovery can get into endless loop when duplicate descriptor
definitions are found on the remote device
- When GATT over BR/EDR fails, BTA does not give a connection
callback to the application initiating the connection
- BR/EDR connection to remote platform does not generate API callbacks
- Stack crash discovered during UPF after remote disconnects
- The host is sending HCI disconnect to invalid HCI handle when
SMP fails because of a connection timeout
- Possible race condition:
If a disconnect is immediately followed by a connection complete,
the connection complete cannot be processed in the BTA GATT state
machine
- Write Complete event is not triggered for Prepare Write requests

Change-Id: I539cdedd68007818ff4f0d0213cee1c913f72d0f

Conflicts:
bta/gatt/bta_gatts_act.c
/system/bt/stack/btm/btm_ble_int.h
781b5adee20e222ef87b56b72bfcd3f64013e4a0 28-May-2013 Andre Eisenbach <andre@broadcom.com> LE: Integrate power table for GATT

No power table exists for GATT, causing the device to never enter sniff
mode while using GATT over BR/EDR.

Change-Id: I0db539c1814a61af620f3dba560da64481291beb
/system/bt/stack/btm/btm_ble_int.h
ead3cde4bac0c3e32cd31f149093f004eef8ceeb 06-Feb-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Initial version of BLE support for Bluedroid

Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
/system/bt/stack/btm/btm_ble_int.h
5738f83aeb59361a0a2eda2460113f6dc9194271 13-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879baf

Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d
/system/bt/stack/btm/btm_ble_int.h