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/stack/gap/gap_ble.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/stack/gap/gap_ble.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/stack/gap/gap_ble.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/stack/gap/gap_ble.c
|
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/gap/gap_ble.c
|
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/gap/gap_ble.c
|
2772dac59971dd9c135cfac73a1ba77a912324f4 |
|
17-Jul-2014 |
Thomas.TT_Lin <Thomas.TT_Lin@htc.com> |
Bluetooth: fix the HOGP device(iBUFFALO BSMBB09DS) pair and reconnect problem. in bta_hh_le.c (fix reconnect issue) Since new LE security flags are import, (BTM_SEC_LE_AUTHENTICATED, BTM_SEC_LE_ENCRYPTED, BTM_SEC_LE_NAME_KNOWN, BTM_SEC_LE_LINK_KEY_KNOWN, BTM_SEC_LE_LINK_KEY_AUTHED), we have to use new BTM_GetSecurityFlagsByTransport() function with LE transport to get right sec_flag, or will cause cannot correctly add to white list and cause reconnect fail. in btif_dm.c (fix HOGP mouse pair issue) the HOGP mouse will become abnormal if we update connection parameter too many times. Therefore the is_hid case is not suitable for HOGP mouse, it will trigger call to L2CA_EnableUpdateBleConnParams() several times due to service discovery and bonded state. L2CA_EnableUpdateBleConnParams() update connection cause mouse abnormal. The change will make the flow: complete bonding procedure first, then do service discovery, connect to mouse. in gap_ble.c (fix HOGP device pair issue) After pairing status is bonded, host start to create ATT layer to get some information from HOGP device. If host send "disconnect" command during period. Device will stop to feedback anything. Suggest to delete it. in smp_act.c (fix HOGP device pair issue) update connection parameter too many times may cause mouse abnormal, so remove this code since this will be called again after service discovery. Suggest to delete it. Change-Id: I4b722343c2b08d33530bc6b928bc9ffe89fd09e9 Signed-off-by: Thomas.TT_Lin <Thomas.TT_Lin@htc.com>
/system/bt/stack/gap/gap_ble.c
|
4dcde90649cc51ca815a50d338a73adb408ab258 |
|
28-Jun-2014 |
Matthew Xie <mattx@google.com> |
resolved conflicts for merge of b44cc59d to master Change-Id: I74c86dd5a13d4cc0b225a4b1d516904c4382db74
|
d9a47080a3e84fde67befd80797fa574111e2810 |
|
28-Jun-2014 |
Sharvil Nanavati <sharvil@google.com> |
am d5bba906: Logging cleanup: RFCOMM and GAP. * commit 'd5bba906b0704cd60e824613bd2e438935ba5d89': Logging cleanup: RFCOMM and GAP.
|
17b04bd498405f2bb109a85562ebbdcb6bb06e95 |
|
28-Mar-2014 |
Andre Eisenbach <andre@broadcom.com> |
LE: Add notification sent and congestion callbacks (2/4) This change introduces two new callbacks for applications to better handle LE notification flow control and transport congestion. The notification callback is invoked when the remote platform confirms an indication or when a local notification has been passed to the controller. No new notifications should be sent until a callback is received. Congestion callbacks are triggered when a GATT operation cannot be sent to the local Bluetooth controller. Repeatedly calling writeCharacteristic() for example will eventually trigger a congestion callback. Applications cannot send additional data until a further callback is received, indicating that the congestion has cleared up. Also fixes a memory leak issue that can trigger GKI exception for certain GATT operations. Change-Id: Ib470c15ca1f577573a632e9afe4cb9e86680fd8c
/system/bt/stack/gap/gap_ble.c
|
b44cc59d286ad255e872c60df02e032bd8d9d75b |
|
04-May-2014 |
Sharvil Nanavati <sharvil@google.com> |
Logging cleanup: AVRC, MCA, GATT, and SMP. Change-Id: I6d1e61ff023b5fd19f144955cff16831cc18c6e6
/system/bt/stack/gap/gap_ble.c
|
d5bba906b0704cd60e824613bd2e438935ba5d89 |
|
04-May-2014 |
Sharvil Nanavati <sharvil@google.com> |
Logging cleanup: RFCOMM and GAP. Change-Id: I83fda4f0805aaeb2ca060870449868879edcff78
/system/bt/stack/gap/gap_ble.c
|
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/gap/gap_ble.c
|
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
/system/bt/stack/gap/gap_ble.c
|
5cd8bff2dd0337cb52bf48f312e3d2d55a8882fb |
|
01-Feb-2014 |
Mike J. Chen <mjchen@google.com> |
Major warnings cleanup Mostly fixing unused parameter warnings. A few other warnings also fixed like possible use of unitialized variables (no real issue found, just compiler couldn't follow the path), signed vs unsigned warning. Also fixed some typos, indent issues, removal of dead code, etc. Change-Id: I95eb887aefc4d559d7921f71a0af5f3bfb01ac01 Signed-off-by: Mike J. Chen <mjchen@google.com>
/system/bt/stack/gap/gap_ble.c
|
7051db3a486aae771d9b5a81c3546790f86ede34 |
|
13-Nov-2013 |
Zhihai Xu <zhihaixu@google.com> |
BLE HID device connection failure due to security error. When HID BLE device start encryption, if some other GATT application already start encryption(but not finished yet) by calling gatt_security_check_start. The HID BLE device will be failed to start encryption, which will cause it to disconnect the BLE HID connection. The solution is to check whether we already started the encryption , If the encryption is already started, wait until the encryption finished, then continue to start security check for BLE HID device. add encrytion complete event to notify all GATT client encryption done. filter the event just for BTA HH LE GATT client. bug:11636246 Change-Id: If58e57c623cc8cfa05208587b010bec68c71306c
/system/bt/stack/gap/gap_ble.c
|
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/gap/gap_ble.c
|
ead3cde4bac0c3e32cd31f149093f004eef8ceeb |
|
06-Feb-2013 |
Ganesh Ganapathi Batta <ganeshg@broadcom.com> |
Initial version of BLE support for Bluedroid Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
/system/bt/stack/gap/gap_ble.c
|