summaryrefslogtreecommitdiffstats
path: root/stack/gatt/gatt_main.c
Commit message (Collapse)AuthorAgeFilesLines
* BT: Fixed Static Analysis IssuesMatadeen Mishra2015-10-061-1/+1
| | | | | | | | | | - This fix avoids NULL pointer dereferences, Array Index Out of Bounds Exceptions and Banned funciton in the bluedroid code space of Bluetooth. CRs-Fixed: 890309, 890321 Change-Id: I24ae794ee01b65b5ab15c73cd82677b0481910ad
* Bluetooth: update gatt channel state to closing during disconnectionSatish kumar sugasi2015-10-061-1/+1
| | | | | | | | This changes Gatt state to CLOSING from OPEN to avoid any farther gatt operations from that particular fixed channel CID during gatt disconnection process. Change-Id: I8511caa477881de4f4eaf18b84f23530e1958fe9
* Bluetooth: LE-L2CAP-COC on M.Balraj Selvaraj2015-10-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LE L2CAP Connection Oriented Channel implementation for credit based flow control on LE L2CAP. - This feature is enabled only when BLE feature is enabled. - Handled signalling commands on channel id 5 to establish the connection of LE COC. - Implemented the SM for LE L2CAP channel to handle events from App layer and hci layer. - Introduced security levels for LE L2CAP channels. - Introduced tranport variable for major functions where BREDR and LE shares common data structures. - Implemented segmentation and reassembly of LE L2CAP SDU. - Introduced congestion mechanism for LE L2CAP channel - As the new LE L2CAP callbacks not required for existing BREDR services, made it as null for newly introduced LE L2CAP callbacks. - New APIs introduced for LE L2CAP connection establishment. - New APIs provided for LE L2CAP security procedure. - Relevent L2cap APIs from Test app interface exposed to the test tool. - New macros, definitions, structures introduced for LE L2CAP channel establishment/data tranfer. CRs-Fixed: 776657 Change-Id: I50a24374659f9802cbc92421db139f75f2790f2e
* LE Privacy 1.2 and LE secure connectionsSatya Calloji2015-04-131-3/+2
| | | | | | Bug: 19816438 Original author: Chaojing Sun <cjsun@broadcom.com> Change-Id: I5951f4d4e038f8348a62aa6d19b2111bae0b3ecc
* L2CAP and SDP Search API for BT profiles (2/2)Kim Schulz2015-04-101-5/+7
| | | | | | | | | | | | | | Added support for exposing L2CAP to Java such that OBEX over L2CAP is made possible. Added support to create SDP records as a seperate step.(as opposed to creating a SDP record when a BluetoothSocket is created). This allows both a RFCOMM channel and a L2CAP PSM to be included in a SDP record. (Additionally the content of the SDP record is set by the profile in Java, in stead of beeing hardcoded in the socket layer.) This completes the L2CAP channel exposure to Java. Change-Id: Iaf68a07d910145cdd33e940d73cd680f79164100
* Enforce GKI API buffer usageChris Manton2015-03-161-0/+2
| | | | Also add another API GKI_queue_length(BUFFER_Q *)
* Fix gatt_main.c compile error due to log macro changeAndre Eisenbach2015-03-161-1/+1
|
* Release GATT resources upon teardownChris Manton2015-03-161-0/+18
|
* Service change indication is not sent to a bonded remote device sometimesMudumba Ananth2014-07-301-2/+2
| | | | | | | | | | -> The service change indication was requested before GATT profile finished processing the connection callback. -> Sending service change indication after profile connection is up solves the problem. Bug: 16560957 Change-Id: I99dd7528883efbedcbf785132fe6aaa3aea5b42c
* resolved conflicts for merge of b44cc59d to masterMatthew Xie2014-06-281-30/+30
|\ | | | | | | Change-Id: I74c86dd5a13d4cc0b225a4b1d516904c4382db74
| * Logging cleanup: AVRC, MCA, GATT, and SMP.Sharvil Nanavati2014-06-191-30/+30
| | | | | | | | Change-Id: I6d1e61ff023b5fd19f144955cff16831cc18c6e6
| * Merge BT 4.1 featuresGanesh Ganapathi Batta2014-04-301-55/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | LE: Add notification sent and congestion callbacks (2/4)Andre Eisenbach2014-06-251-4/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge BT 4.1 featuresGanesh Ganapathi Batta2014-05-061-55/+44
|/ | | | | | | | | | | | | | | | | | | 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
* Major warnings cleanupMike J. Chen2014-02-111-0/+3
| | | | | | | | | | | | 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>
* Fix missing initializer warningMike J. Chen2014-01-311-0/+1
| | | | | Change-Id: I13e96a25b66a0a789d1adab9e41f2315d294943d Signed-off-by: Mike J. Chen <mjchen@google.com>
* LE: Memory leak when caching GATT service changeAndre Eisenbach2013-08-141-6/+9
| | | | | | | | | | | When a GATT connection is disconnected, a bonded device will be added into service change pending list. But if the device is already in the list, a duplicate record will be added and one buffer is lost. This change ensures that devices are only added if they are not already in the list. Change-Id: Ied6872b145ed28bde8044444cb6c9cbee525943d
* LE: UPF 45 bug fixesAndre Eisenbach2013-08-131-25/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Initial version of BLE support for BluedroidGanesh Ganapathi Batta2013-02-271-21/+42
| | | | Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
* Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879bafThe Android Open Source Project2012-12-121-0/+1115
Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d