History log of /system/bt/btif/src/btif_gatt_multi_adv_util.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cd 06-Feb-2016 Pavlin Radoslavov <pavlin@google.com> Removed checks for NULL returns after osi_calloc() / osi_malloc()

Removed explicit checks for NULL pointer returns after calls
to osi_calloc() and osi_malloc(), because those are not needed.
If the memory allocation fails, osi_calloc() and osi_malloc()
will trigger an assert.

Bug: 27048759
Change-Id: I2791eb2f69c08f991f8fcdef10e101a41568cd95
/system/bt/btif/src/btif_gatt_multi_adv_util.c
abd70abb5e42c9431df94fe9d2c4a78a0d8d9af9 05-Feb-2016 Pavlin Radoslavov <pavlin@google.com> Replaced osi_getbuf()/osi_freebuf() with osi_malloc()/osi_free()

Removed the alternative buffer allocation osi_getbuf() / osi_freebuf()
and use instead osi_malloc() / osi_free().

Correspondingly, replaced usage of osi_freebuf_and_reset()
with osi_free_and_reset().

Bug: 24914560
Change-Id: I7a9599ba7fa900321f087da684428133eb0ddd6b
/system/bt/btif/src/btif_gatt_multi_adv_util.c
20524d393e8b3bea4c573f7980cd843500b0e6a4 03-Feb-2016 Pavlin Radoslavov <pavlin@google.com> Refactor usage of osi_free() and osi_freebuf()

* Allow to call osi_freebuf(ptr) on NULL pointers. This simplifies
the code: a notable number of "if (foo != NULL)" checks are removed.
* Add new function osi_free_and_reset(p_ptr) that frees the buffer,
and explicitly resets the pointer to NULL.
This prevents unintended usage of free memory.
* Add corresponding function osi_freebuf_and_reset(p_ptr)
* Minor cleanup around usages of osi_free() and osi_freebuf()

Also:
* Removed unused function btif_gattc_cleanup()
* Replaced usage of the following functions with osi_freebuf_and_reset()
- mca_free_buf()
- utl_freebuf()
- btif_hl_free_buf()
* Replaced usage of rc_supported_event_free() with osi_freebuf()
* Replaced usage of btif_hl_get_buf() with osi_getbuf()
* Eliminate some of the osi_get_buf_size() calls

Bug: 22948224
Change-Id: Ife860658b26274da6f228d7353cb0f1531587337
/system/bt/btif/src/btif_gatt_multi_adv_util.c
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/btif/src/btif_gatt_multi_adv_util.c
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/btif/src/btif_gatt_multi_adv_util.c
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/btif/src/btif_gatt_multi_adv_util.c
d4c103624b3d7672110abeb753ed79113ee48989 08-Aug-2015 Ian Coolidge <icoolidge@google.com> Improve adv_data transfer between contexts.

- Drops some unused members from btgatt_multi_adv_inst_cb.
- Flatten tBTA_BLE_ADV_DATA to only require one allocation.
- Copy all of tBTA_BLE_ADV_DATA contents to bt_workqueue_thread.

Bug: 23042223
Change-Id: I5f4d25d5cdd39731a2dfe64394928b7fb77c7c7c
/system/bt/btif/src/btif_gatt_multi_adv_util.c
4161eb610dc8152fad833aa1f187a9af52fd7c0d 07-Aug-2015 Marie Janssen <jamuraa@google.com> build: fix missing include

fatfingered this needed include out of this file

Change-Id: Id4c8d3223b25d0747a2739891e43652c475d399c
/system/bt/btif/src/btif_gatt_multi_adv_util.c
8f247258317bfd015806badce0cc41df901fa6e7 07-Aug-2015 Marie Janssen <jamuraa@google.com> build: fixes for breakages on tilapia

Only include advertising when we can actually advertise on LE.

Change-Id: I380c67db4391650591b94611c4d522bf49fac750
/system/bt/btif/src/btif_gatt_multi_adv_util.c
49a86709488e5cfd5e23759da18bf9613e15b04d 08-Jul-2015 Marie Janssen <jamuraa@google.com> build: LOG_TAG consistency, include order, build fixes

Fix the order of includes across a bunch of files, and declare LOG_TAG
at the top of every file in which it is used.

Consistently use bt_ as a LOG_TAG prefix.
Fix issues with LOG macro usage.
Remove unused includes and double-includes (when in related .h)

Add includes as necessary to compile cleanly (problems surfaced by
reordering includes)

Change-Id: Ic55520c8302b06bbc1942c10c448b20844669da6
/system/bt/btif/src/btif_gatt_multi_adv_util.c
bb95452741bfd65723ea417c25dbd326c7568ab7 03-Jun-2015 Arman Uguray <armansito@google.com> build: Fix ptr <-> integer cast warnings

This CL removes the -Wno-pointer-to-integer-cast and
-Wno-integer-to-pointer-cast flags from GN build files. The resulting errors
were fixed using the following:

1. All ptr <-> integer casts are now done by using the new
PTR_TO_INT/INT_TO_PTR macros defined in osi.h

2. The TIMER_PARAM_TYPE macro, defined in gki/common/gki.h and
include/bt_target.h have been redefined as void* rather than UINT32. This
is better, since "void*" can act as a simple container without any
precision loss that would be caused by a type such as UINT32 on 64-bit
systems. void* inherently is a safer container for all pointer types but
UINT32 isn't.

BUG=21570302

Change-Id: I4a82c4a40c91caa31e372382c40d424be220cbe3
/system/bt/btif/src/btif_gatt_multi_adv_util.c
484dc303627eb82e7c5edf4f03e542fec2d3f4ea 21-May-2015 Ian Coolidge <icoolidge@google.com> Fix use-after-free while setting advertisement data.

Producer context was freeing data buffers without
performing a deep copy on the passed structure.

Also added some const correctness so we can reason
about the state of btif_adv_data_t as its data
gets associated with the advertising instance.

Bug: 21343750

Change-Id: Ifea0209e8426b61d8456c299c836ba640bd30f31
/system/bt/btif/src/btif_gatt_multi_adv_util.c
d0f0847216d7cfd5f0544da6efdc290f7a76c19b 27-Mar-2015 Wei Wang <weiwa@google.com> Remove BLE_PERIPHERAL_ADV_NAME flag.

BLE_PERIPHERAL_ADV_NAME forces inclusion of device name
in advertise data. Since setIncludeDeviceName is already
available in advertise API to control the presence of
device name the flag should be removed.

Change-Id: I8637529b2d809bb9829783f60bd7e9889784c8b7
/system/bt/btif/src/btif_gatt_multi_adv_util.c
e1a9e52ff59d36bd1bb5b7b3a02fafba6394edfe 31-Mar-2015 Etan Cohen <etancohen@google.com> Merge commit 'f7f839985b3931682363d2ef3b7c5cae55a842ee' into merge

Change-Id: Iaaec1ea0bf3009b7e32a9a60f697631a3f56e889
f8027005333c88a2f097cfd70d15c3d54c7764ae 12-Mar-2015 Chris Manton <cmanton@google.com> Demote, cleanup and extend observed logging
/system/bt/btif/src/btif_gatt_multi_adv_util.c
7fbc6954fac90dd7148ac73aa478fcc5e2d75be8 25-Jan-2015 Elliott Hughes <enh@google.com> am f976082e: Merge "Fix omitted libc includes."

* commit 'f976082eead2b7c19bf8c00d79e4723e6c4eb8e9':
Fix omitted libc includes.
c7503db23f91676b2df732becb9579d5ccdcc7a7 24-Jan-2015 Ian Coolidge <icoolidge@google.com> Fix omitted libc includes.

Change-Id: I72c08984aeef60e4833e600b4351759b9687a014
/system/bt/btif/src/btif_gatt_multi_adv_util.c
11cf5ccd5cd6dd1568bf69e4b6cbc27c95f5026d 11-Dec-2014 Chih-Hung Hsieh <chh@google.com> resolved conflicts for merge of ed0bdd42 to lmp-mr1-dev-plus-aosp

Change-Id: Ife8b72d3688ed78a95ccb8d5e0b60f40e7fec9e9
104e3f238f500cacdb8afaccdc672dfc34eae7ee 12-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Cleanups needed to make clang happy

This patch removes a slew of unused variables and some unused functions,
fixes some incomplete initializations of structs and an sprintf
parameter mismatching the format string.

Change-Id: I35f22fdccc8350f885cd357d3685b869224fa433
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
/system/bt/btif/src/btif_gatt_multi_adv_util.c
ffaf9c5358decc3102252e76cc00da5c910bb065 26-Nov-2014 Wei Wang <weiwa@google.com> Remove unnecessary check of multiple advertise instance count.

Bug:18539121
Change-Id: I841e4323ed4995bd9f8117681a759f52995d071f
/system/bt/btif/src/btif_gatt_multi_adv_util.c
3770c47387d3dfc6d2e2d32f4409a82119e726e3 20-Oct-2014 Satya Calloji <satyac@broadcom.com> Clean up SetADV and ScanResp data memory leak.

Bug:18045480
Change-Id: Ic433f4aa26bd08e84c53c447be9d5278e16ebd55
/system/bt/btif/src/btif_gatt_multi_adv_util.c
b407515ffa145b1a2cab01467da03c92aeb0e8eb 10-Oct-2014 Satya Calloji <satyac@broadcom.com> Fix "no instances found for adv" when stop BLE scanning.

Bug:17703806
Change-Id: I103d3637ad38d33b4370850a300b0d72bdaeb562
/system/bt/btif/src/btif_gatt_multi_adv_util.c
cafed88eb2caeaece08da1110625f4567a16ddd1 27-Sep-2014 Satya Calloji <satyac@broadcom.com> Add support of advertising through standard instance.(4/4)

Handled the case of standard ADV when Multi ADV is not
supported by controller

Bug:17641092

Change-Id: I129a7faaf027985c63197e7298dbd2507905d29f
/system/bt/btif/src/btif_gatt_multi_adv_util.c
7ddf2d88501a2dd17045fb2f126ec99dcac9b5d9 06-Sep-2014 Satya Calloji <satyac@broadcom.com> Fix ADV data exceeding max adv packet length

Fixed the 128-bit UUID handling during setting up
of adv data/scan response

Bug:16799331
Change-Id: I81e4ab0a80a5c1b7abf012dccc29eead54229b21
/system/bt/btif/src/btif_gatt_multi_adv_util.c
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
/system/bt/btif/src/btif_gatt_multi_adv_util.c
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
/system/bt/btif/src/btif_gatt_multi_adv_util.c
169cd7a221a79474d36e5c1697e862c1d640c064 08-Aug-2014 Andre Eisenbach <eisenbach@google.com> Additional rebase fixes

Change-Id: I0bb6c9f96987a7e8b8d91473681f5e208d3b844f
/system/bt/btif/src/btif_gatt_multi_adv_util.c
1097ff0b2c493e1541ca989681267dfa6a61ed6b 08-Aug-2014 Andre Eisenbach <eisenbach@google.com> Fix Bluedroid rebase error

Change-Id: I80a2f3767acaee6095389bb9579aad4241d7c42f
/system/bt/btif/src/btif_gatt_multi_adv_util.c
9dd5a9c11f2022fa9709f0c34f04560c21105152 08-Aug-2014 Andre Eisenbach <eisenbach@google.com> LE: Add limited advertising duration capability (2/3)

Change-Id: Id2ebc353f1bcd94978c5c8dc55a235c92ebc7658
/system/bt/btif/src/btif_gatt_multi_adv_util.c
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/btif/src/btif_gatt_multi_adv_util.c
3489ca9d44bbf0d3f00b1f5cd9675694774d48a8 31-Jul-2014 Satya Calloji <satyac@broadcom.com> ADV data override issue

Setting scan response overrides advertiseData

Bug 16577710

Change-Id: I5ca28568495c8e487648a5f36d945e4443cba639
/system/bt/btif/src/btif_gatt_multi_adv_util.c
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/btif/src/btif_gatt_multi_adv_util.c
e8c3d75b75493911ebf0f99c83676359657178f7 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: BTIF and APPL.

Change-Id: I5b1214642bbb4b9aecc0fd2c899a6ec2c9793286
/system/bt/btif/src/btif_gatt_multi_adv_util.c
bf0e4b26d8f0748ff4f9522a2ac7001bfb9ca5cc 20-May-2014 Wei Wang <weiwa@google.com> Fix build issue for devices without BLE features.

Change-Id: I6499663d253c791cc739ed76b839eb3aefe6613a
/system/bt/btif/src/btif_gatt_multi_adv_util.c
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
/system/bt/btif/src/btif_gatt_multi_adv_util.c