• Home
  • History
  • Annotate
  • only in /external/bluetooth/bluedroid/stack/
History log of /external/bluetooth/bluedroid/stack/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
352e2a2ec30f651bf69c6f947c5c4531f945a495 23-Oct-2014 Prerepa Viswanadham <dham@google.com> Don't starve a BT ACL link with 0 xmit quota

With new link management of controller buffers between
different ACL connections, it is possible that a ACL
conn would get 0 buffers - thus no profile can run.
This affects classic and LE ACL connections.

This work around allows a floor of 1 buffer as the
floor for all connection, irrespective of controller
capability.

Bug: 17976311
Change-Id: I7cd0d34af47c441c5ea7f2b836b591a4fec62ad1
2cap/l2c_ble.c
2cap/l2c_link.c
da9b0f84cb53ad02386149f09ffec111903bcca0 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
tm/btm_ble.c
tm/btm_ble_bgconn.c
9d8df2d1c4ad40fa49e7e1c1031421d8a194d927 16-Oct-2014 Andre Eisenbach <eisenbach@google.com> Merge "LE: Serialize multiple connection parameter update requests" into lmp-dev
4a35476c4ade75b985fa46f1ab82dad92a6b0810 15-Oct-2014 Matthew Xie <mattx@google.com> am 98ad505f: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

* commit '98ad505f577599870cf0ae281a5d035e2e2453f9':
Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag
97e75b73a57602b7d9771f28216630ba32fd702a 08-Oct-2014 Chaojing Sun <cjsun@broadcom.com> LE: Serialize multiple connection parameter update requests

Bluetooth controllers do not allow multiple connection parameter
updates where there is one outstanding. This requires serializing
all connection parameter update requests and send the latest
request when the pending one is finished.

Bug: 17979666
Change-Id: Ic49bd89a4ded28014d74b40e67f2a3ea490b9ef7
tu/btu_hcif.c
tu/btu_task.c
nclude/btu.h
2cap/l2c_ble.c
2cap/l2c_int.h
2cap/l2c_main.c
2cap/l2c_utils.c
98ad505f577599870cf0ae281a5d035e2e2453f9 13-Oct-2014 Matthew Xie <mattx@google.com> Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

Bluetooth Certification Test case TP/TRA/BTR/BV-01-C for Basic
Transport Service Support fails. The failure is because the PTS
is expecting the first RTP Media Frame to have a sequence number
of 1. But metallica sends it as 0.
bug 17893538

Change-Id: Idfe7ae382c3764616dab4733cdf83b1627b8b3c9
vdt/avdt_scb_act.c
1fbddc8faacde61190df31a8e6ea9142feb4bc88 10-Oct-2014 Andre Eisenbach <eisenbach@google.com> Revert "Unable to connect to a Motorola s705 until Bluetooth was toggled of and back on"

This reverts commit a934f018b6c6a7eda4662a60f2f04828afc3ab77.

This patch caused various headset audio break issues and slow
reconnections on headsets like the Bose AE2W.

Based on the original bug under which this patch was merged
(b/10648781) it is unlikely that this bug even fixed the
issue it was meant to address.

Bug: 17520043
Change-Id: I39bb9abbf5735abff25b5257425c34972287dc27
tm/btm_acl.c
tm/btm_int.h
tm/btm_main.c
2cap/l2c_utils.c
de898558badd0d575829c4011fdffd33c548c1d6 06-Oct-2014 Wei Wang <weiwa@google.com> Merge "Fix an "array index out of bound" bug for RPA." into lmp-dev
19a8f456d4a38694eaec270eabc5ff9aa639c86d 06-Oct-2014 Andre Eisenbach <eisenbach@google.com> Merge "Raise A2DP threat priority to avoid music breaks" into lmp-dev
d5aa24750c2202ce944560c2c27ead0214e8350d 24-Sep-2014 Satya Calloji <satyac@broadcom.com> LE: Peer device's latest RPA is not being applied

The latest discovered address is not used when reconnecting to devices
using resolvable private addresses, if RPA resolution offloadin is not
supported in the controller.
This patch also address the exception case where BT off is memseting
all control value while the IRK list is still being cleaned up.

Bug: 17187661
Change-Id: Ifeb5b8297e7eadb0e34ec1afbd41f46bdd836cf3
Author: Chaojing Sun <cjsun@broadcom.com>
tm/btm_ble.c
tm/btm_ble_gap.c
2cap/l2c_ble.c
3eae42f2a383adaaf83336dc4c92afd2de2c4112 02-Oct-2014 Mattias Agren <magren@broadcom.com> Raise A2DP threat priority to avoid music breaks

* Ensure all a2dp audiopath threads are configured to high
priority when actively streaming.
* For now set bt hc worker thread always to URGENT_AUDIO
until new thread api can adjust thread priority dynamically.

Bug: 17520043
Change-Id: I10e314085329278bcfcc4e8bc5ce899b03d22e2b
tu/btu_task.c
46bfe63d383fd077e521d69321e011aff824bd39 10-Nov-2013 Mallikarjuna GB <gbmalli@codeaurora.org> DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet

- AVCTP : Allocate bigger buffer for reassembly
- AVRCP : Handle getelimentattr to eliminate duplicates
and invalid attributes, this also fixes BOF.

Bug: 17669579
CRs-Fixed: 576831
Change-Id: I778c3df1386339ff8a00a755ffc9f24881b5167d
vct/avct_lcb_act.c
21015a484b3fa3d7aa7cdc291b30238089d14f4e 03-Oct-2014 Wei Wang <weiwa@google.com> Fix an "array index out of bound" bug for RPA.

Also returns no more than BTM_BLE_MULTI_ADV_MAX for max advertise
instances.

Bug:17810619
Change-Id: If655e207b641fd4cd1590ae47b28185dc9f7cbbb
tm/btm_ble_gap.c
tm/btm_ble_multi_adv.c
4baec1a8b7987f6d46351ea17d359e23d0e17eb2 25-Sep-2014 Matthew Xie <mattx@google.com> Merge "Remove HOGP device from background connection list" into lmp-dev
03cb1ad1e063f7353c5098527bbf13ae7d563a7e 23-Sep-2014 Matthew Xie <mattx@google.com> Merge "Enable flow control when tx buffer is full and peer stuck in receiving" into lmp-dev
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
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
3f24f460ec3efedde25723e6a4297efc10873cd2 17-Sep-2014 Satya Calloji <satyac@broadcom.com> All 00 mac address with advt

Read the controller features before local name read

Bug 17505545
Change-Id: I7995a8c714ebec6e1751af5371edfd29c74b12ea
tm/btm_ble_gap.c
nclude/btm_ble_api.h
b4a53ec6e9aa106168836f9f2874610814b74363 18-Sep-2014 Zhenye Zhu <zhenye@broadcom.com> Enable flow control when tx buffer is full and
peer stuck in receiving

bug 17525124
Change-Id:Ic67e9c0aab7e64afc9679733e6c3de10a28078d7
fcomm/port_api.c
c918d08763ec547f7f226553ab75ca885db357ac 17-Sep-2014 Andre Eisenbach <eisenbach@google.com> Document LE IO capabilities and use BR/EDR constant for LE

This removes a hack to set LE IO capabilities and reuses the existing
constant defined in bt_target.h.

Change-Id: I3c97629bd092ac78bd673afc29458775b2bce836
mp/smp_act.c
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
tm/btm_ble.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_sec.c
tu/btu_hcif.c
7ae25156f4250af9d0e8cd8d559d916cfb847feb 11-Sep-2014 Prerepa Viswanadham <dham@google.com> Avoid premature LE connection notifaction to app

To avoid premature connection notification to app, always wait for
LE read remote feature complete with success before the connection
event is sent to application.

This patch also deprecates the BTA_SKIP_BLE_READ_REMOTE_FEAT flag.
Since the remote feature request is now serialized and start encryption
won't be called until the connection is up, this flag is no longer
necessary and interferes with the new behaviour.

This is an extension of previous CL

Bug: 17326529
Change-Id: Icfd4c5dfdd9f89d1318ef429e132eb005abb1f64
tm/btm_acl.c
tm/btm_ble_gap.c
2cap/l2c_ble.c
2cap/l2c_link.c
2cap/l2c_main.c
2cap/l2c_utils.c
976990f872bb0873fedbb74649d0bf704bb70d05 13-Sep-2014 Wei Wang <weiwa@google.com> Merge "Fix issues with manufacturer ID prefix scan filter." into lmp-dev
53c9fd05c28d035cf3d2530b586d3d02b68a9866 10-Sep-2014 Andre Eisenbach <eisenbach@google.com> Merge "LE link_xmit_quota is not correctly allocated" into lmp-dev
8dedc069c0b9183ae386d2cc413b0116720ef879 10-Sep-2014 Andre Eisenbach <eisenbach@google.com> Merge "SMP doesn't detect the event of local processing taking more than SMP timeout (30 sec)" into lmp-dev
92ac2d8919f8e38a091903270eb5500073d67d4b 11-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> LE link_xmit_quota is not correctly allocated

LE link transmit quota should be calculated based on the total LE
buffer available and number of LE link that shares the buffer. Currently
it's been calculated based on the ACL buffer number and total physical
links(BR and LE), that cause the LE link transmit quota not being
done right.
Modify the link transmit quota allocation, and keep track of LE link
seperately, also keep track of round robin scheme for LE links
solving the problem.

Bug: 16560957
Change-Id: I70f91827b96f2c10421e91311ea34cc81a5ef4b8
2cap/l2c_ble.c
2cap/l2c_int.h
2cap/l2c_link.c
2cap/l2c_utils.c
000abb5e7be8c60c66d5ac7319362be448078121 10-Sep-2014 Andre Eisenbach <eisenbach@google.com> Merge "LE: Remove stored link key if encryption fails due to missing key (remote)" into lmp-dev
d8f8e85df529864286cfc31be8bd34dc2dcb4dae 09-Sep-2014 Andre Eisenbach <eisenbach@google.com> Merge "If L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted connection" into lmp-dev
98283bb879d26d0c29a76988e1bffebd6f730fc5 09-Sep-2014 Priti Aghera <paghera@broadcom.com> Fixed SMP pairing failure due to race condition

SMP pairing failure if remote send security request before master
side receive LE link connection callback. The racing condition will
cause master side bonding failure upon ignoring remote security request
and flush out all SMP information. Retain SMP information when a
locally initiated pairing is in process solves the problem.

Bug: 17412687
Change-Id: Ia2256160c866413f93c6f49e5db82b4c6489d9d2
mp/smp_act.c
db2bdd59473d02d195c73e2bd67adf6a03a34ed6 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> SMP doesn't detect the event of local processing taking more than SMP timeout (30 sec)

Bug: 16560957
Change-Id: I1113f367187a30e01fa3d5d2a5ccb0243580e06b
mp/smp_l2c.c
8d36b38752e82bfe33d9e6d861ed59ede3f0a7bf 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> If L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted connection

Bug: 16560957
Change-Id: I91fd2cc90435d0b899474b555b4a4ab00306c156
2cap/l2c_api.c
6cbb113e7863888f62c49b4b7a89f12a04fe07f4 03-Sep-2014 Satya Calloji <satyac@broadcom.com> Fix issues with manufacturer ID prefix scan filter.

Handled the case of no manufacturer data in filter configuration

Bug:17324059
Change-Id: I87c2c44644f808bd88f4d8681ff53e2d92815658
tm/btm_ble_adv_filter.c
d2246b6ebdc1db60c2db8dd0e34a3121a71117e9 29-Aug-2014 Priti Aghera <paghera@broadcom.com> LE: Remove stored link key if encryption fails due to missing key (remote)

Remove the link key if encryption fails due to missing key or
authentication error. When a remote device loses the bond, all
HOGP services cached should be discarded and all client configuration
descriptors needs to be re-enabled. This will ensure successful
re-connection.

Bug: 15022622
Change-Id: Ie1730830c0cbbc294e2cd579d7dca69d16cf8218
tm/btm_ble_bgconn.c
tm/btm_sec.c
7bf480e3e3e1df04c0be6d466d8dffac5abaae40 08-Sep-2014 Priti Aghera <paghera@broadcom.com> Notify that link is up after LE read remote features completes

ACL link up notifaction was not sent after LE read remote features was successful.
Thus, total ACL link up count was not updated. Included a link up notification
after LE read remote features is successfull.

Bug: 17410697
Change-Id: I41fc640e76fa99354cb63d9b0b3031582178c057
tm/btm_ble_gap.c
c8eddb5ae46da76552d3cd3d9fff8d33c1880a52 08-Sep-2014 Matthew Xie <mattx@google.com> Make sure conn_id is valid before using it

Bug: 17401266
Change-Id: I5f36e13b3ccb327f191db33123fff98858f07c5f
rvc/srvc_eng.c
9c29d08bc7c6da33db5cfc777404354c6dca845c 03-Sep-2014 Priti Aghera <paghera@broadcom.com> Avoid premature LE connection notifaction to app

To avoid premature connection notification to app, always wait for
LE read remote feature complete with success before the connection
event is sent to application.
bug 17326529

Change-Id: Id731bf02e8d5d5a68db12e0478b8eb74723eb95d
tm/btm_acl.c
tm/btm_ble_gap.c
tm/btm_int.h
2cap/l2c_ble.c
2cap/l2c_int.h
2bfa490a23a3b8ad6c992db4bb74f560a6a059e3 04-Sep-2014 Priti Aghera <paghera@broadcom.com> Set random address before connection request

Send Set_Random_Address when privacy is enabled. If Set_Random_Address
is not sent to controller, Connection request will be sent with host
address as all 0's

Bug: 17386986
Change-Id: I59877e52bf76a56696800ff0e75487c633adde3c
tm/btm_ble_gap.c
29bfd63d650c25f6858df4c542f37bf4215870d2 26-Aug-2014 Thomas.TT_Lin <Thomas.TT_Lin@htc.com> Automatically determine transport to used to read RSSI.

Determine the transport to use for BTM_ReadRSSI based on the
device type of the remote device.

Bug: 16694076
Change-Id: I5a591f9d629547b63a750cefd7feb72899922595
Signed-off-by: Thomas.TT_Lin <Thomas.TT_Lin@htc.com>
tm/btm_acl.c
9e3ce4ba4952c5405ee20b89c2916dbe2c06599d 21-Aug-2014 Satya Calloji <satyac@broadcom.com> onBatchScanStorageConfigured returns status 12

Stack changes for handling the API call sequence changes. Please refer buganizer for more details on the API sequence changes

Bug:16850169
Change-Id: Iabef8247a290d163c1fe03cb853d12678b559664
tm/btm_ble_batchscan.c
nclude/btm_ble_api.h
6982ce28d4f154a7bca453ee6fcae20d94cda78c 29-Aug-2014 Wei Wang <weiwa@google.com> Merge "GKI_exception on running longer batch scans" into lmp-dev
6480b8e3ec5806083ca16b8a05a37f70b343bf33 22-Aug-2014 Satya Calloji <satyac@broadcom.com> scanWindow and interval are reversed

Corrected the byte position for HCI Command
- Set Batch Scan Param sub cmd

bug 17182636

Change-Id: I45045a6e548ed2539d5e43695725883ca1e4ed7a
tm/btm_ble_batchscan.c
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
tm/btm_ble_batchscan.c
tm/btm_ble_int.h
9545067575252d4d994aef2d090409d6fb32908e 21-Aug-2014 Matthew Xie <mattx@google.com> Merge "use correct trace debug level" into lmp-dev
720405962c82ab8d43995e8631b25a76a3dcceba 21-Aug-2014 Matthew Xie <mattx@google.com> use correct trace debug level

Change-Id: I997f5f9395af6c5da0403dc496317b2bad1683e6
tm/btm_ble_gap.c
3313de78a750e858bea50c5bf54074c551b3137d 17-Aug-2014 Andre Eisenbach <eisenbach@google.com> LE: Fix build for devices not support BLE/Privacy

Change-Id: I00951bb14384be4fdc946410f1082963af8ad569
tm/btm_dev.c
2d5c3f2261c2f34023c8acfad30c9999e29131f2 31-Jul-2014 Nitin Arora <niarora@codeaurora.org> Remove IRK entry from controller when LE device is unpaired

Change-Id: I04f3087a4fb3d715fafcfa91510a48b78d49f27f
tm/btm_dev.c
817eec282452d37d308a0ae90e8f4832c6dff650 12-Aug-2014 Priti Aghera <paghera@broadcom.com> Fixed SMP failure for Privacy enabled Multi-Adv

When privacy is enabled and multi adv instance is used, SMP pairing
was failing as wrong local connection address was used. Included a fix
so that local connection address is always updated when connection handle
to adv instance mappping event is received.

Bug: 16872808
Change-Id: I288cd6cd85fe8547d0e85b1d8419a3412a993126
tm/btm_acl.c
tm/btm_ble_multi_adv.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
tu/btu_task.c
521e47bbe771f19843e25c34460f734356b90516 11-Aug-2014 Wei Wang <weiwa@google.com> Fix batch scan not reporting regression.

b/16912745

Change-Id: I6d011aa9c50e4352ec73b936ef9bf1503f2289d1
tm/btm_ble_batchscan.c
e0da8bbe2fe1a94b4e03c703055b5acc908accd6 09-Aug-2014 Andre Eisenbach <eisenbach@google.com> LE: Fix multi-advertiser not rotation BDA correctly

The wrong timer function was invoked to trigger the address refresh.
Fixed to use one-shot timer instead.

Bug: 15086940
Change-Id: I2b890b0fb1ccf5a55e9d4ab70803e6d38693e3a5
tm/btm_ble_multi_adv.c
d77eec93e5299f5bff987fceceba612b33251a14 07-Aug-2014 git-zhenye.broadcom.com <zhenye@broadcom.com> Moved per device tx power configuration capability in bdroid_buildcfg.h

Bug 16711526

Change-Id: Ia8099765113068fd3b211acb882702d3581bd4b1
nclude/btm_ble_api.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
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_adv_filter.c
tm/btm_ble_batchscan.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_devctl.c
tu/btu_hcif.c
nclude/btm_ble_api.h
nclude/gap_api.h
2cap/l2c_ble.c
mp/aes.c
f877e4c6990a05c6a609980efa4fc575aa7eb51e 04-Aug-2014 Wei Wang <weiwa@google.com> Merge "LE batchscan consolidated reports" into lmp-dev
f1dba910daa5f0ce9ca89f840bb7e6269f07af1d 16-Jul-2014 Satya Calloji <satyac@broadcom.com> LE batchscan consolidated reports

Provide consolidated batchscan reports

Change-Id: Ie3da240c38b014fe29d4394438f3858fd4e731fa
tm/btm_ble_batchscan.c
nclude/btm_ble_api.h
f37456d5a14773e25386629803f7dcaecb37fb99 04-Aug-2014 Andre Eisenbach <eisenbach@google.com> LE: Fix random address resolution when done in the stack

If the local device does not support random address resolution in the
Bluetooth chip, it has to be performed in the host stack. This patch
fixes some instances where address resolution was not performed
properly, causing device reconnection to fail.

Change-Id: Ifb84a9fa44995caa3680d9a0b4248ef911eb9ad0
tm/btm_ble.c
2cap/l2c_ble.c
6b5a01fca2087889d5d6e94a3e9b02ba4db74c2d 31-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "Unnecessary l2cap idle timer is being restarted everytime mode change to active" into lmp-dev
664fe1edc3064d430a37139b4e28aa17ca87afa1 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> Unnecessary l2cap idle timer is being restarted everytime mode change to active

Bug: 16560957
Change-Id: I543cab003dbf2be9e5f63667f32bdeb78d1d56d1
tm/btm_pm.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
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
301eb0f86921a4b7f131594c22e4a16208106e32 31-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "Service change indication is not sent to a bonded remote device sometimes" into lmp-dev
f8aaa621c6a3e965844e1c460fa7af0f8fdd7271 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> Service change indication is not sent to a bonded remote device sometimes

-> 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
att/gatt_main.c
9cc19a63fe736d2b44181ba4757a286db2afa935 31-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "ADV flag is missing LE discoverable flag" into lmp-dev
819a24084c0fd90d56e54653b4b286e085037da6 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> ADV flag is missing LE discoverable flag

ADV flag is missing LE discoverable flag when setting device in
general discoverable mode. Device discovery mode is masked off
by a wrong flag that cause the problem. Use the correct discoverable
mask will solve this problem.

Bug: 16560957
Change-Id: Ic11d1497d38dedfea6feeaa84f36aed90590939c
tm/btm_inq.c
c62fe8574db0ed5d0f469e0632bad30238b8d5e7 31-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "Execute Write Response shall be sent after the attributes are written" into lmp-dev
cf3103308da07eba540b5918cdc472bc7fbcd1fb 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> Execute Write Response shall be sent after the attributes are written

Bug: 16560957
Change-Id: I085a2218644615bc13f5a0d0d78fc2afe0605a04
att/gatt_api.c
att/gatt_sr.c
a2459c75c41b5a5a906d09087208dbfafb6dfbf3 31-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "Update simultaneous LE BR/EDR host support bit for 4.1 controller and 4.1 stack" into lmp-dev
7016ba7bf86d6393b407cf9bc19a62e227b2e0ab 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> Update simultaneous LE BR/EDR host support bit for 4.1 controller and 4.1 stack

Need to set simultaneous LE BR/EDR host support bit when BTE DMT included stack or newer version
running on top of 4.1 controller.

Bug: 16560957
Change-Id: I3e2827dbaf8b4259d4f00f14b1a5f587e4424bdc
tm/btm_devctl.c
083c41bef2f5dfc19c2fd11177a8d6257c5851bf 04-Jul-2014 Mudumba Ananth <ananthm@broadcom.com> Cannot resolve RPA from a DUMO device when being a peripheral device

Stack needs to allow DUMO devie to use RPA per 4.1 spec requirement.

Bug: 16560957
Change-Id: I8af5cade6dbd2da04aa05a4aa66663a767678d00
tm/btm_ble_addr.c
5fb6df1f90de6e69f712a07c819468b74a6233ef 29-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "LE: Fix problem where pending command is not sent after pairing" into lmp-dev
32429188798b1f34fcf2cc609fd70ed85f20264b 26-Jul-2014 Andre Eisenbach <eisenbach@google.com> LE: Fix problem where pending command is not sent after pairing

If a read/write or other operation triggers SMP pairing with a remote
device, the operation should complete once pairing has finished. This
patch fixes a bug where the pending command was not sent after pairing.

Bug: 16405565
Change-Id: Idb2e54931c71b0a9e009cac318712eb9f5c7e15a
tm/btm_sec.c
att/gatt_auth.c
9b57f0802ec52f9169ebbd164c6f104724190ec1 25-Jul-2014 Adam Hampson <ahampson@google.com> Bluetooth: DIS: Only read the requested DIS characteristics

The BLE HID code only uses the PNP_ID characteristic from DIS.
Previously the DIS client would read all DIS characteristics
when a read request was made. This change allows the DIS user to
request certain DIS characteristics.

Bug: 16521059

Change-Id: I09c24718bb2e2da73c518b64c3cbdd07e7d6cf27
Signed-off-by: Adam Hampson <ahampson@google.com>
nclude/srvc_api.h
rvc/srvc_dis.c
rvc/srvc_dis_int.h
6e2d9db5148176d88d7f48c3b2ad5b27c57ca14d 09-Jul-2014 Satya Calloji <satyac@broadcom.com> Settings app does not show BLE devices

Settings does not show all BLE devices when scan filter is set

Change-Id: I669ef3b87a9a21dfce26c1e22b5d984a5ea6f75c
tm/btm_ble_adv_filter.c
nclude/btm_ble_api.h
f2c9280a1c7647c06278f31738575caf1b85027e 24-Jul-2014 Matthew Xie <mattx@google.com> Merge "Increase BLE background scan window for faster re-connection" into lmp-dev
24364958c9d1367634d20542182df30eeb1ae491 24-Jul-2014 Matthew Xie <mattx@google.com> Increase BLE background scan window for faster re-connection

The scan window is increased from 11.25ms to 30ms.
The scan duty cycle is still very low at 2.34% while user experience
is greatly improved.
bug 16521059

Change-Id: Ice37c54fdc7d852fd19709112075e7492b6a1480
nclude/btm_ble_api.h
81b03192d4284acc7c9903f5b183927797dceca4 24-Jul-2014 Prerepa Viswanadham <dham@google.com> Fix build for non BLE supported targets(nakasi and manta)

Change-Id: I0de46e1dfce3a51367bc0e2640e91cdefc8a21c6
tm/btm_pm.c
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
ndroid.mk
tm/btm_ble_cont_energy.c
tm/btm_ble_gap.c
tm/btm_pm.c
nclude/btm_api.h
nclude/btm_ble_api.h
nclude/hcidefs.h
81cc400b75694d9ddccf740f73cfef15222983c6 21-Jul-2014 Mike J. Chen <mjchen@google.com> Merge "Make auto connect work for multiple known BLE devices" into lmp-dev
dab87145ee90c71bcec1b78a55ad5a011322ce34 19-Jul-2014 Mike J. Chen <mjchen@google.com> Make auto connect work for multiple known BLE devices

Due to a bug with wl_state not ever setting WL_INIT,
auto connect was not working for more than one known
BLE device after a reboot. The fix is to set the WL_INIT
flag when in initiator state.

I also added code to set the WL_SCAN flag when in
scanning state. Not sure if that fixes any bug but
it looks like it should have been done too.

WL_ADV was the only state flag previously being set.

Bug 16404692

Change-Id: Id42907c0d8301e347e603684e2c03e4905bfec49
Signed-off-by: Mike J. Chen <mjchen@google.com>
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
571c81ed119833b5e5cbd6bedffd7409a10be21d 18-Jul-2014 Ed Heyl <edheyl@google.com> Fix builds: Revert "Added code to publish ble adv tx power in dBm"

This reverts commit 347a1d64c7a9c345793c61b03bdcaa31ad8e5678.

Change-Id: If62571a3f5bd87d04e5643855c9fea1b8048aa5a
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
347a1d64c7a9c345793c61b03bdcaa31ad8e5678 16-Jul-2014 git-zhenye.broadcom.com <zhenye@broadcom.com> Added code to publish ble adv tx power in dBm

Bug 15412969
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
4c94c5f9fc2c3102c52706fd5bb4cd8d065e5716 19-Jul-2014 Prerepa Viswanadham <dham@google.com> Fix build: Revert the reversion done due to build failure.
original commit id: 347a1d64c7a9c345793c61b03bdcaa31ad8e5678
revert commit id: 571c81ed119833b5e5cbd6bedffd7409a10be21d

Fix builds: Revert "Added code to publish ble adv tx power in dBm""

This reverts commit 571c81ed119833b5e5cbd6bedffd7409a10be21d.

Change-Id: I2afeeaa4b52aa449e54115fd5f816a7a949d2ea8
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
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>
ap/gap_ble.c
mp/smp_act.c
b007f90951718cb0d5f73bf33e88075edae31a12 12-Jul-2014 Mike J. Chen <mjchen@google.com> Merge "Fix GKI buffer leak with discovery information service reading"
eaf796f1dc6a0e719c8f957f629b35c4faf2c01a 28-Jun-2014 Mike J. Chen <mjchen@google.com> Fix GKI buffer leak with discovery information service reading

If the discovery information service of the LE client has
the fields model number, serial number, fw version, etc,
the service would allocate PKI buffer and never do anything
with it, so it would leak. It looks like it should have
been assigned the a callback string array, however fixing
that still doesn't fix the leak because the code that receives
the string array, bta_hh_le_dis_cback(), never uses it and
never frees it.

I believe the semantic is that the string arrays are kept around
as a cache in the srvc engine connection structure,
so it's the srvc engine dealloc of the callback structure that
needs to also free the string buffers if they have been allocated.
After fixing the string array allocation, add code to free the
string array entries if they are not null.

Also fixed an off by one error in DIS_SrUpdate() that would also lead
to a GKI buffer leak.

Improve two string termination cases to use a simple set of the
last entry in the char array instead of memsetting the whole array
when most of it will be filled by a following memcpy.

Change-Id: I7905cd771dbbe166e3c2b42e019bac9f5a312877
Signed-off-by: Mike J. Chen <mjchen@google.com>
rvc/srvc_dis.c
rvc/srvc_eng.c
2c9061e32d32b03391e001e5d51238d18a2186c0 11-Jul-2014 Nitin Arora <niarora@codeaurora.org> am 7475a509: Bluetooth: Adds SMP response timer for security request

* commit '7475a5098339d763aa6e3a0374ee2f1c16e002c4':
Bluetooth: Adds SMP response timer for security request
7475a5098339d763aa6e3a0374ee2f1c16e002c4 21-Feb-2014 Nitin Arora <niarora@codeaurora.org> Bluetooth: Adds SMP response timer for security request

This adds timer to cancel security request from remote if there
is no response from user for pairing popup.

Change-Id: I18694dcc5275a1eb10de4ad921b6baca189b42fa
mp/smp_act.c
51f35b04d40ec65fd478fe366d041a649ad09760 02-Jul-2014 Wei Wang <weiwa@google.com> Code cleanup - remove unnecessary commented out code

Change-Id: I86e78d1b0470b9fda7455ae8ef5788814cf5c780
2cap/l2c_ble.c
43c6a47303866bad6a0338ed53cf38f1a779a498 02-Jul-2014 Wei Wang <weiwa@google.com> am b3c61229: Merge "Code cleanup - remove unnecessary commented out code" into klp-wireless-dev

* commit 'b3c61229ccf38ea3f398f93902d348ba12a7fb07':
Code cleanup - remove unnecessary commented out code
7ae3f9eebc4e930d51e6b61f845ffd0f9a8cb9f8 15-Jun-2014 Satya Calloji <satyac@broadcom.com> LE Onfound and Onlost feature

BTIF and stack layer changes for onfound/onlost feature

DO NOT MERGE

Change-Id: Id52cdd5855ca8c0ff276b42613b51c4cd3882bfc
tm/btm_ble_batchscan.c
nclude/btm_ble_api.h
5e177043e3dfcd70676761a40425179d16c4a7ce 05-Jun-2014 Satya Calloji <satyac@broadcom.com> LE ADV Filter changes

BTIF and stack layer changes for ADV filter feature

DO NOT MERGE

Change-Id: I865e57c41802751e172248547b8510598261ec94
ndroid.mk
tm/btm_ble_adv_filter.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
nclude/btm_ble_api.h
nclude/hcidefs.h
b9b1f4e7a5cc96c57873a991f4ea3c3c08934c26 11-May-2014 Satya Calloji <satyac@broadcom.com> LE batch scan feature

BTIF and stack changes for batch scan feature

DO NOT MERGE

Change-Id: I4dd2d551435e9f1f0e43906bd695294e97ed4bba
ndroid.mk
tm/btm_ble_batchscan.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_devctl.c
nclude/btm_ble_api.h
nclude/hcidefs.h
1acb61ce065053f91a0f8d43e8328c9eeec4b5ed 15-Jun-2014 Satya Calloji <satyac@broadcom.com> LE Onfound and Onlost feature

BTIF and stack layer changes for onfound/onlost feature

Change-Id: Id52cdd5855ca8c0ff276b42613b51c4cd3882bfc
tm/btm_ble_batchscan.c
nclude/btm_ble_api.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
ndroid.mk
tm/btm_ble_adv_filter.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
nclude/btm_ble_api.h
nclude/hcidefs.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
ndroid.mk
tm/btm_ble_batchscan.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_devctl.c
nclude/btm_ble_api.h
nclude/hcidefs.h
21cf5dbe659716e5ac6cae107b7734b97c16fd94 30-Jun-2014 Nitin Arora <niarora@codeaurora.org> am 021e17a6: Clear background conn list entries during BT power off

* commit '021e17a641e61e3f139717cd755bf6f9b9b9eb12':
Clear background conn list entries during BT power off
5b4d1438b87fa31901d3bcf7c3f1fbbebd9d1437 30-Jun-2014 Andre Eisenbach <eisenbach@google.com> am 9279e000: Merge "Bluetooth: Updates background conn list properly during unpair" into klp-wireless-dev

* commit '9279e0003d43be077d2c2d7a3e5163db960a1150':
Bluetooth: Updates background conn list properly during unpair
021e17a641e61e3f139717cd755bf6f9b9b9eb12 30-Jan-2014 Nitin Arora <niarora@codeaurora.org> Clear background conn list entries during BT power off

This clears whitelist entries and resets bgconn device lists

Change-Id: I551791d63fa826071c113abd383540838f6c59b2
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
nclude/btm_ble_api.h
eb29aed689d70decec163e41c68200bf8fb3d9af 26-Jun-2014 Richie Hsieh <richie.hsieh@mediatek.com> LE: Fix HOGP connection issues caused by incorrect HCI packet flags

Do not set the automatically-flushable packet flag for LE bound HCI
packets (Packet_Boundary_Flag 0b10).

Reported-by: Richie Hsieh <richie.hsieh@mediatek.com>
Change-Id: Id71a096acee70582923e652cfef1f4141b721fed
2cap/l2c_utils.c
4dbb90f07682b1d348ddf22189fce8e9e96b66ad 29-Jun-2014 Hemant Gupta <hemantg@codeaurora.org> am 831423ea: Bluetooth: Fix to avoid NULL pointer dereferences

* commit '831423ea1879244e746f39d7696ad4a66681f306':
Bluetooth: Fix to avoid NULL pointer dereferences
3b20c3471fd9d38566c6018bab18342327af234c 29-Jun-2014 Hemant Gupta <hemantg@codeaurora.org> am c8fe2925: GAP: Retain the old COD if already present

* commit 'c8fe2925af4f5b167b615a0677adebbd156a4387':
GAP: Retain the old COD if already present
f2220ed01f1568ca09d82ad59b6454495b0346e3 29-Jun-2014 Hemant Gupta <hemantg@codeaurora.org> am 79f454dc: L2CAP: Send HCI connect with all packet types supported

* commit '79f454dc544280cc1a3ca3acc643f7dddfe91cd9':
L2CAP: Send HCI connect with all packet types supported
831423ea1879244e746f39d7696ad4a66681f306 07-Jan-2014 Hemant Gupta <hemantg@codeaurora.org> Bluetooth: Fix to avoid NULL pointer dereferences

This fix for avoiding NULL pointer dereferences:
- Added check for state checking in btm_remove_acl function
to avoid sending disconnect command if already in Disconnecting
state.
- Added NULL check for 'pin_code' in btif_dm_pin_reply function
- Null check before accessing in BD interface layer configuration
node variables.
- Add NULL check before accessing p_bd_addr variable to avoid null
pointer exception while referring to invalid memory.

Change-Id: Ib7ed45b6a1692785a45224d739a564f767e5b10f
tm/btm_acl.c
tm/btm_sec.c
c8fe2925af4f5b167b615a0677adebbd156a4387 30-Oct-2013 Hemant Gupta <hemantg@codeaurora.org> GAP: Retain the old COD if already present

Retain the old COD as the initial value if the device
entry already present in the list and entry is not in use.

Change-Id: I99b7269b1976ef7458c6568441e6e3c1e015a75f
tm/btm_dev.c
79f454dc544280cc1a3ca3acc643f7dddfe91cd9 30-Jul-2013 Hemant Gupta <hemantg@codeaurora.org> L2CAP: Send HCI connect with all packet types supported

HCI create connect function is now supporting only single slot packet
during HCI connection initiation. Added support for all basic rate
packet types.

Change-Id: Ieeb892ea43dc9bb801a8f97a644a0f8c06b8184a
2cap/l2c_utils.c
e8b675fa13845d451a85f40738c2d96b9a33d7df 29-Jun-2014 Matthew Xie <mattx@google.com> am 96cdc153: Merge "GAP: Handle invalid SDP service search request" into klp-wireless-dev

* commit '96cdc153002c82d959f132d6e6804b516228ff32':
GAP: Handle invalid SDP service search request
38af9eea6b68eee04d2c88c0b837fa896cba9dbc 29-Jun-2014 Matthew Xie <mattx@google.com> am 08b1c8d9: Merge "GAP: Handled collision scenerio with headset" into klp-wireless-dev

* commit '08b1c8d9147c253fecd34686b0c4dcd5b78cc778':
GAP: Handled collision scenerio with headset
d0a2037d9ded1e8df36dcf773158658795e35a06 29-Jun-2014 Sharvil Nanavati <sharvil@google.com> am f0952b52: Add a flexible array to the end of BT_HDR to avoid pointer arithmetic.

* commit 'f0952b522e3326b79b146e7c3c59fa3b29d59de6':
Add a flexible array to the end of BT_HDR to avoid pointer arithmetic.
f0952b522e3326b79b146e7c3c59fa3b29d59de6 25-Jun-2014 Sharvil Nanavati <sharvil@google.com> Add a flexible array to the end of BT_HDR to avoid pointer arithmetic.

This change should clean up a lot of code. I've verified sizeof(BT_HDR)
remains constant after this change on ARM, x86, and x86_64.

Change-Id: I762351fa0f24a587da190de3e522bc74e497c542
nclude/bt_types.h
22b0d6bc7c48942f270fa8f8cf992c658b04f9a0 28-Jun-2014 Matthew Xie <mattx@google.com> featurize ble specific function to fix compile error on non-ble target

Change-Id: Ib968b55b407f6c4413d53623113c47f335c5f800
tu/btu_task.c
e19cc5d042e81829304b694e1f013ba85abeee8f 28-Jun-2014 Chris Manton <cmanton@google.com> am 0aee3319: BLE privacy timer

* commit '0aee331900424ed23857ee2390fbb03338a60d91':
BLE privacy timer
325aca6831dceff0209390f1e62af7c7b736c68d 28-Jun-2014 Chris Manton <cmanton@google.com> am 5ec39bbc: Extended a few timer API functions

* commit '5ec39bbc74875868ba54e837c6bd30bfa022563f':
Extended a few timer API functions
afa6e1abbedaad8fe854b0f43999b8aeb801af91 28-Jun-2014 Matthew Xie <mattx@google.com> resolved conflicts for merge of e8c3d75b to master

Change-Id: I78ef69c4d54a36243620ae14296d3507e3339567
4dcde90649cc51ca815a50d338a73adb408ab258 28-Jun-2014 Matthew Xie <mattx@google.com> resolved conflicts for merge of b44cc59d to master

Change-Id: I74c86dd5a13d4cc0b225a4b1d516904c4382db74
a7324778bb12390f4c8fead853a0eb7d9b558886 28-Jun-2014 Sharvil Nanavati <sharvil@google.com> am 158084e0: Logging cleanup: A2D, AVDT, and AVCT.

* commit '158084e065230a10ffeba6b24ab2fd22b422baed':
Logging cleanup: A2D, AVDT, and AVCT.
14364cda32c50007e2028fd5e436e4f49f1bfb22 28-Jun-2014 Sharvil Nanavati <sharvil@google.com> am d6e1b1ee: Logging cleanup: HIDH, BNEP, and PAN.

* commit 'd6e1b1ee17959461a80936f7308d8129615315d2':
Logging cleanup: HIDH, BNEP, and PAN.
d9a47080a3e84fde67befd80797fa574111e2810 28-Jun-2014 Sharvil Nanavati <sharvil@google.com> am d5bba906: Logging cleanup: RFCOMM and GAP.

* commit 'd5bba906b0704cd60e824613bd2e438935ba5d89':
Logging cleanup: RFCOMM and GAP.
847b706a9cfba9dc749240b33276a7e02df30f29 28-Jun-2014 Matthew Xie <mattx@google.com> resolved conflicts for merge of a51c9d9d to master

Change-Id: I50eec2efe06017bddac291846fa098c26dc10da1
1936fbefaf691150edd59d79e370f7fa14f5cb44 28-Jun-2014 Chris Manton <cmanton@google.com> am 167686c8: Remove dead timer code from btu

* commit '167686c80108ed5cf030631057ec82dc169f3e65':
Remove dead timer code from btu
96cdc153002c82d959f132d6e6804b516228ff32 29-Jun-2014 Matthew Xie <mattx@google.com> Merge "GAP: Handle invalid SDP service search request" into klp-wireless-dev
86225e4a1489a73dc25473b58ef0d25ac53cec63 23-Jan-2014 Hemant Gupta <hemantg@codeaurora.org> GAP: Handle invalid SDP service search request

Handled the invalid SDP service search request by responding
with SDP_INVALID_REQ_SYNTAX.

Change-Id: Ide3e28bf552f75a915acc3dbb24fcee0b4cce9bb
dp/sdp_server.c
b81d729e172638b937ce200a40e7d0e2cecc24b5 17-Mar-2014 Hemant Gupta <hemantg@codeaurora.org> GAP: Handled collision scenerio with headset

Handled collision scenerio by rejecting remote link key req
when collision occured in the headset reconnection

Change-Id: Ic6383abfc46ecd251ae483af85d8af3031c91cad
tm/btm_sec.c
08b1c8d9147c253fecd34686b0c4dcd5b78cc778 29-Jun-2014 Matthew Xie <mattx@google.com> Merge "GAP: Handled collision scenerio with headset" into klp-wireless-dev
493a98a8de29a35808db28470736819af5fd22d2 28-Mar-2014 Andre Eisenbach <eisenbach@google.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: I7112bdfc1fedec2e390bd0ea52655d238683917f
ap/gap_ble.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_cl.c
att/gatt_int.h
att/gatt_main.c
nclude/gatt_api.h
nclude/l2c_api.h
2cap/l2c_api.c
2cap/l2c_utils.c
mp/smp_l2c.c
rvc/srvc_eng.c
cee52a061bfc2029b26ef284348212cdc7bdde5d 28-Jun-2014 Sharvil Nanavati <sharvil@google.com> am 2d5d56ea: Rewrite PAN_Write in terms of PAN_WriteBuf.

* commit '2d5d56ead7d9dd811cf9c5ef26b16c4a0b149ade':
Rewrite PAN_Write in terms of PAN_WriteBuf.
9536abefc8761390566030f570f3ff034639a81d 27-Jun-2014 Andre Eisenbach <eisenbach@google.com> Merge "LE: Add notification sent and congestion callbacks (2/4)"
9279e0003d43be077d2c2d7a3e5163db960a1150 30-Jun-2014 Andre Eisenbach <eisenbach@google.com> Merge "Bluetooth: Updates background conn list properly during unpair" into klp-wireless-dev
69e934e86621a8b6d3e4d6f730915567e4023840 22-Feb-2014 Nitin Arora <niarora@codeaurora.org> Bluetooth: Updates background conn list properly during unpair

This ensures background connection devices order properly so that
unpaired devices are removed and there is no duplicates for
same remote device and hence no unneccessary pending LE
create connection

Change-Id: Ia4af0b00c598983c04e0f5109d1eb54be924e9f8
tm/btm_ble_bgconn.c
5022aa3b88f81d907de7427ec8e97d72520f2aaa 26-Jun-2014 Mike J. Chen <mjchen@google.com> Merge "Use HCI_TRACE instead of BT_TRACE macros"
9c07b33b335dfa3b4357f9ee293e1c1c03a7389a 20-Jun-2014 Steve Paik <spaik@google.com> [bluedroid] Fix slave latency and conn timeout defaults in BLE

The default connection parameters were not being applied properly in BLE.
Also fixed a typo in btm_ble.c.

Change-Id: I6cfb0f2a400740578910dcf4c7192ea16406aa1b
Signed-off-by: Steve Paik <spaik@google.com>
tm/btm_ble.c
nclude/btm_ble_api.h
2cap/l2c_ble.c
d65b00f26de6014af3ddd6cc36d207ffe6353a5f 26-Jun-2014 Mike J. Chen <mjchen@google.com> Use HCI_TRACE instead of BT_TRACE macros

This allows enabling/disabling to be controlled by the HCI_INITIAL_TRACE_LEVEL
in bt_trace.h instead of unconditionally tracing.

Change-Id: Iacbc8b3e8daefb665230d0c10ba4111b9b4576a7
Signed-off-by: Mike J. Chen <mjchen@google.com>
tu/btu_hcif.c
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
ap/gap_ble.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_cl.c
att/gatt_int.h
att/gatt_main.c
nclude/gatt_api.h
nclude/l2c_api.h
2cap/l2c_api.c
2cap/l2c_utils.c
mp/smp_l2c.c
rvc/srvc_eng.c
0aee331900424ed23857ee2390fbb03338a60d91 12-Jun-2014 Chris Manton <cmanton@google.com> BLE privacy timer

Adds another timer with one-shot characteristic that
allows for variable firing of alarms. Change the BLE
privacy code to use this timer rather than the
BTU continuous timer.

Change-Id: I6baa4e6a76813285c15f24aeb3c7ef942ed01858
tm/btm_ble_addr.c
tm/btm_ble_multi_adv.c
tu/btu_task.c
nclude/bt_types.h
nclude/btu.h
5ec39bbc74875868ba54e837c6bd30bfa022563f 10-Jun-2014 Chris Manton <cmanton@google.com> Extended a few timer API functions

Timer queue and entry were lacking a few functions.
Also added field in timer entry to indicate initial
timing condition for use in a variable timer

Change-Id: I4d987a5bb4eddb48f8c54de8d3da26f1c0b77584
tu/btu_task.c
f6ffd16418c86e29dc0ae17bebd825dd9e3bc2b4 20-Jun-2014 Nick Vaccaro <nvaccaro@google.com> Fix build break for Platina.

Bug: 15143878
Change-Id: I7a0b3aa289b69e7c86fbc8abed151690fb0e8112
att/gatt_db.c
e8c3d75b75493911ebf0f99c83676359657178f7 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: BTIF and APPL.

Change-Id: I5b1214642bbb4b9aecc0fd2c899a6ec2c9793286
2cap/l2c_utils.c
b44cc59d286ad255e872c60df02e032bd8d9d75b 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: AVRC, MCA, GATT, and SMP.

Change-Id: I6d1e61ff023b5fd19f144955cff16831cc18c6e6
vrc/avrc_api.c
vrc/avrc_bld_ct.c
vrc/avrc_bld_tg.c
vrc/avrc_pars_ct.c
vrc/avrc_pars_tg.c
vrc/avrc_sdp.c
vrc/avrc_utils.c
ap/gap_ble.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_auth.c
att/gatt_cl.c
att/gatt_db.c
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
cap/mca_api.c
cap/mca_cact.c
cap/mca_csm.c
cap/mca_dsm.c
cap/mca_l2c.c
cap/mca_main.c
mp/smp_act.c
mp/smp_api.c
mp/smp_cmac.c
mp/smp_keys.c
mp/smp_l2c.c
mp/smp_main.c
mp/smp_utils.c
rvc/srvc_battery.c
rvc/srvc_dis.c
rvc/srvc_eng.c
158084e065230a10ffeba6b24ab2fd22b422baed 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: A2D, AVDT, and AVCT.

Change-Id: I5a9d4bcdd65f6e965b434bf86949bba7155fd300
2dp/a2d_api.c
vct/avct_api.c
vct/avct_ccb.c
vct/avct_l2c.c
vct/avct_lcb.c
vct/avct_lcb_act.c
vdt/avdt_ad.c
vdt/avdt_api.c
vdt/avdt_ccb.c
vdt/avdt_ccb_act.c
vdt/avdt_l2c.c
vdt/avdt_msg.c
vdt/avdt_scb.c
vdt/avdt_scb_act.c
d6e1b1ee17959461a80936f7308d8129615315d2 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: HIDH, BNEP, and PAN.

Change-Id: I3b81b6875c764f0642be4f4d8905aa24524ea902
nep/bnep_api.c
nep/bnep_main.c
nep/bnep_utils.c
id/hidh_api.c
id/hidh_conn.c
an/pan_api.c
an/pan_main.c
an/pan_utils.c
d5bba906b0704cd60e824613bd2e438935ba5d89 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: RFCOMM and GAP.

Change-Id: I83fda4f0805aaeb2ca060870449868879edcff78
ap/gap_api.c
ap/gap_ble.c
ap/gap_conn.c
ap/gap_utils.c
fcomm/port_api.c
fcomm/port_rfc.c
fcomm/port_utils.c
fcomm/rfc_l2cap_if.c
fcomm/rfc_mx_fsm.c
fcomm/rfc_port_fsm.c
fcomm/rfc_ts_frames.c
fcomm/rfc_utils.c
a51c9d9d225e41fe36a0133f1c17fd981ea59c1d 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: L2CAP and SDP.

Change-Id: I62b5d4f330312dc466a758cb554952017f899696
2cap/l2c_api.c
2cap/l2c_ble.c
2cap/l2c_csm.c
2cap/l2c_fcr.c
2cap/l2c_link.c
2cap/l2c_main.c
2cap/l2c_ucd.c
2cap/l2c_utils.c
dp/sdp_api.c
dp/sdp_db.c
dp/sdp_discovery.c
dp/sdp_main.c
dp/sdp_server.c
dp/sdp_utils.c
aef4bd1ced9208ae4b1d1975a2734dc82eaf838d 11-Jun-2014 Satya Calloji <satyac@broadcom.com> Address allocation scheme for multiple advertisers

bug 15329248

Change-Id: Ia5f2ce91f672c2c577dd3712a004f3cd3f573533
tm/btm_ble_multi_adv.c
e687a17eb669f64315325f4836e4f5f109f52345 11-Jun-2014 Satya Calloji <satyac@broadcom.com> Address allocation scheme for multiple advertisers

bug 15329248

Change-Id: Ia5f2ce91f672c2c577dd3712a004f3cd3f573533
tm/btm_ble_multi_adv.c
f7dd9f5779680da37dc89e5df2b26d436487818c 24-Oct-2013 Hemant Gupta <hemantg@codeaurora.org> Add A2DP Sink Support

Change-Id: I9affefdd2d00597545e49c593ef3bddb110d4c9c
vdt/avdt_ad.c
vdt/avdt_api.c
vdt/avdt_int.h
vdt/avdt_scb.c
vdt/avdt_scb_act.c
nclude/avdt_api.h
26112633d80098314048914c0be33442a0048fb7 07-Jun-2014 Sharvil Nanavati <sharvil@google.com> Fix build: BTM_BleLocalPrivacyEnabled is called from outside BLE_PRIVACY_SPT guard.

Change-Id: I1ca7f824e035b496c9c038b9afdb4c4f2af4234b
tm/btm_ble_gap.c
d66d4bfb74dec23f34ce26bfc88a27ef3c03f9de 02-Jun-2014 Sharvil Nanavati <sharvil@google.com> Disable BLE address randomization since it causes excessive timer wakeups.

Change-Id: Ib4c2265d30b8bbaa7b5302537e446e18a97e2cad

Conflicts:
stack/btm/btm_ble_multi_adv.c
tm/btm_ble_multi_adv.c
3a4b1aca3e8e5c8407f0a431b2d276ff78f4c86f 06-Jun-2014 Nitin Arora <niarora@codeaurora.org> Bluetooth: Assign max adv instance value from vendor capabilities

This change assigns the value of the max instances supported
for multiple advertisement, to the multi adv block

Change-Id: Ide181f8cad7a290a0dac8fdd01ae3ed2187868ef
tm/btm_ble_gap.c
8d41691e6b16ba945711e8c3846df1ec70fdb724 31-May-2014 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Support for reading LE specific controller features

Support for reading LE specific controller features via get adapter properties
API

Change-Id: Ia0b813be45fb826ce27d1d7a31ca41650d7286dd
tm/btm_ble_gap.c
tm/btm_devctl.c
tm/btm_int.h
nclude/btm_ble_api.h
5344d6dcb09a184eaf1f9e46cc1ac3962822435c 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: HCI and BTM trace macros.

Change-Id: Icdea5aede9fde2c11d0cde745a9bedc26d69640c

Conflicts:
stack/btm/btm_acl.c
stack/btm/btm_ble.c
stack/btm/btm_ble_bgconn.c
stack/btm/btm_ble_gap.c
stack/btm/btm_inq.c
stack/btm/btm_pm.c
stack/btm/btm_sec.c

Conflicts:
stack/btm/btm_ble_gap.c
stack/btm/btm_sec.c
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_multi_adv.c
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_pm.c
tm/btm_sco.c
tm/btm_sec.c
mp/smp_api.c
mp/smp_keys.c
2a1d89f9d1e3c5f0b7402df4e2823be76a1b81b0 04-May-2014 Sharvil Nanavati <sharvil@google.com> Start cleaning up log macros.

Change-Id: I228fef0198caeb47618a07c4c46526f611933e07
tu/btu_hcif.c
tu/btu_init.c
tu/btu_task.c
2cap/l2c_fcr.c
167686c80108ed5cf030631057ec82dc169f3e65 10-Jun-2014 Chris Manton <cmanton@google.com> Remove dead timer code from btu

Change-Id: I28fb3fb64546aac6e08886f71f80fdeaf86fc5af
tu/btu_task.c
nclude/btu.h
cc35559160745c60b42ae182002a59337d844d09 24-Oct-2013 Hemant Gupta <hemantg@codeaurora.org> Add A2DP Sink Support

Change-Id: I9affefdd2d00597545e49c593ef3bddb110d4c9c
vdt/avdt_ad.c
vdt/avdt_api.c
vdt/avdt_int.h
vdt/avdt_scb.c
vdt/avdt_scb_act.c
nclude/avdt_api.h
c0048149c344473218f746f435dc2ab4181e689d 07-Jun-2014 Sharvil Nanavati <sharvil@google.com> Fix build: BTM_BleLocalPrivacyEnabled is called from outside BLE_PRIVACY_SPT guard.

Change-Id: I1ca7f824e035b496c9c038b9afdb4c4f2af4234b
tm/btm_ble_gap.c
88e76456c4e4a641b4d4ddad9e7c0a9ee2418e6b 02-Jun-2014 Sharvil Nanavati <sharvil@google.com> Disable BLE address randomization since it causes excessive timer wakeups.

Change-Id: Ib4c2265d30b8bbaa7b5302537e446e18a97e2cad
tm/btm_ble_multi_adv.c
b8cb95764ddfbed821ba03d3f24b53ac913f7cc3 06-Jun-2014 Nitin Arora <niarora@codeaurora.org> Bluetooth: Assign max adv instance value from vendor capabilities

This change assigns the value of the max instances supported
for multiple advertisement, to the multi adv block

Change-Id: Ide181f8cad7a290a0dac8fdd01ae3ed2187868ef
tm/btm_ble_gap.c
9546abf9fc4400853803ee220482ae63e63f0d9d 31-May-2014 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Support for reading LE specific controller features

Support for reading LE specific controller features via get adapter properties
API

Change-Id: Ia0b813be45fb826ce27d1d7a31ca41650d7286dd
tm/btm_ble_gap.c
tm/btm_devctl.c
tm/btm_int.h
nclude/btm_ble_api.h
83c5256f1951db020d81412e1d595d7a37962f3e 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: HCI and BTM trace macros.

Change-Id: Icdea5aede9fde2c11d0cde745a9bedc26d69640c

Conflicts:
stack/btm/btm_acl.c
stack/btm/btm_ble.c
stack/btm/btm_ble_bgconn.c
stack/btm/btm_ble_gap.c
stack/btm/btm_inq.c
stack/btm/btm_pm.c
stack/btm/btm_sec.c
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_multi_adv.c
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_pm.c
tm/btm_sco.c
tm/btm_sec.c
mp/smp_api.c
mp/smp_keys.c
d8ab91712132bc3e03f01be1a73e557588094a0d 02-Jun-2014 Adam Hampson <ahampson@google.com> Merge "fix compliation when BLE_VND_INCLUDED is false"
bf6119caaa0edf418e014c1a724d9dac144dec7a 02-Jun-2014 Adam Hampson <ahampson@google.com> Merge "ble: use appearance uuid to determine class of device"
0212487880be33e255d49f6e38dbb035d1f77750 04-May-2014 Sharvil Nanavati <sharvil@google.com> Start cleaning up log macros.

Change-Id: I228fef0198caeb47618a07c4c46526f611933e07
tu/btu_hcif.c
tu/btu_init.c
tu/btu_task.c
2cap/l2c_fcr.c
401b33c4d5c099f4afe34beae02d2c6839da533c 31-May-2014 Nitin Arora <niarora@codeaurora.org> am 66988a02: This patch contains bug fixes for solving race conditions for multiple advertisers and incorrect VS command length which makes uuid filters not working.

* commit '66988a022d219f5385b3f76e3ae26566ad80fb86':
This patch contains bug fixes for solving race conditions for multiple advertisers and incorrect VS command length which makes uuid filters not working.
845c2601ece4c2323a03c6d705cd16545f6df08a 27-May-2014 Adam Hampson <ahampson@google.com> fix compliation when BLE_VND_INCLUDED is false

Change-Id: I48785d6d36965fb03657523ee6eb48cb63fd5364
Signed-off-by: Adam Hampson <ahampson@google.com>
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
2cap/l2c_ble.c
e6c7450a2addbb856e68b66a726b71286f809b19 31-May-2014 Adam Hampson <ahampson@google.com> ble: use appearance uuid to determine class of device

The current code is inferring the cod of a ble hid device based on
the service type. This change uses the appearance uuid to map to
to an equivalent cod.

Bug: 15346094

Change-Id: I6ab2c49bc5e7e956a285c9684ddefb339944a3dc
Signed-off-by: Adam Hampson <ahampson@google.com>
tm/btm_ble_gap.c
nclude/btm_ble_api.h
66988a022d219f5385b3f76e3ae26566ad80fb86 29-May-2014 Nitin Arora <niarora@codeaurora.org> This patch contains bug fixes for solving race conditions for multiple
advertisers and incorrect VS command length which makes uuid filters not
working.

b/15094154, b/15174583

Change-Id: I78746b923301fa47afb21f8bedb0d79b42f492b9
tm/btm_ble_gap.c
tm/btm_devctl.c
nclude/btm_ble_api.h
2cap/l2c_ble.c
fa994c9b7d63d381e33a5d63a7c97ae3edf4dc0f 29-May-2014 Nitin Arora <niarora@codeaurora.org> Bluetooth: Changes to enable features on KWD

This patch contains changes needed to enable features,
multiple advertisment, packet content filtering and
privacy mode on kwd branch

Change-Id: If95bfb38eafe26f16db20e7650865c2f19553548
tm/btm_ble_gap.c
tm/btm_devctl.c
nclude/btm_ble_api.h
2cap/l2c_ble.c
823d3fce3d0abdef74bea3cf8fee20df9fca8f14 27-May-2014 Adam Hampson <ahampson@google.com> fix compilation when BLE_PRIVACY_SPT is false

Change-Id: Ifdef940347bbbd97e81956a1a7dbf52a0d0ea146
Signed-off-by: Adam Hampson <ahampson@google.com>
tm/btm_ble_multi_adv.c
0454bb7bb51f578dfffc618c47e586fc74a0d6b0 28-May-2014 Adam Hampson <ahampson@google.com> Initialize the DIS client before requesting DIS UUIDs from peer

Bug: 15308663

Change-Id: I586c486f838e1742db1785e79ca1451b33b21367
Signed-off-by: Adam Hampson <ahampson@google.com>
rvc/srvc_dis.c
186cddb6f0e23f05742074b703c99805e3f37ac3 27-May-2014 Adam Hampson <ahampson@google.com> ble: handle multiple events within HCI_BLE_ADV_PKT_RPT_EVT HCI event

The Marvell 8797 chip will report both BTM_BLE_CONNECT_EVT and
BTM_BLE_SCAN_RSP_EVT events in a single HCI event.

Bug: 14386651

Change-Id: Id922dff9fa7f6ae8fc15ebbcca4fb9ec537e9f26
Signed-off-by: Adam Hampson <ahampson@google.com>
tm/btm_ble_gap.c
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
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_int.h
2cap/l2c_ble.c
a6ce7751d84218c193eb90d390aef23217b1737e 20-May-2014 Wei Wang <weiwa@google.com> Revert "Revert "LE Multi ADV feature""

This reverts commit ea85048a8e86b1e1b6b725649f6bb0834ba17301.

Change-Id: I9a9305db4fabff07b4309a38f65361dca3f5f37c
ndroid.mk
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
nclude/hcidefs.h
ea85048a8e86b1e1b6b725649f6bb0834ba17301 20-May-2014 Wei Wang <weiwa@google.com> Revert "LE Multi ADV feature"

This reverts commit 87776cf5e201b18646cbc16f11a7110d5ffe510c.

Change-Id: I5b544a5c965999096b665b1bd2edb021e3054be8
ndroid.mk
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
nclude/hcidefs.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
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_int.h
2cap/l2c_ble.c
15fa3be8ecd576b9ef88e20cf9a6f4bd765cbc6b 12-May-2014 Satya Calloji <satyac@broadcom.com> LE: Add RRA offloading and vendor specific PCF commands

Change-Id: Iadca8e73ceaadcd0429421ea70f1b76644e88c42
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_int.h
2cap/l2c_ble.c
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
ndroid.mk
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
nclude/hcidefs.h
0943c10ed5713a08659f08e39e13de4894aaba61 12-May-2014 Satya Calloji <satyac@broadcom.com> LE: Add RRA offloading and vendor specific PCF commands

Change-Id: Iadca8e73ceaadcd0429421ea70f1b76644e88c42
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
tm/btm_int.h
2cap/l2c_ble.c
f6418a11dd4bb80ad871dde90445b878b58e4134 17-May-2014 Adam Hampson <ahampson@google.com> fix uninitialized fields in tBTM_PM_PWR_MD structs

This could potentially cause BTM_SetPowerMode() to take an
incorrect code path.

Change-Id: Ibca83129fffb5fbb64372e991cc433de144d333d
Signed-off-by: Adam Hampson <ahampson@google.com>
2cap/l2c_csm.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
ndroid.mk
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_ble_multi_adv.c
nclude/btm_ble_api.h
nclude/hcidefs.h
6a9c9f75f80e26cca11b60c74aab447b86bd8c7c 09-May-2014 Matthew Xie <mattx@google.com> Merge "Init variables to fix compiler error"
bea4131cac3214e0ad26ea8258e270448f23f1f3 09-May-2014 Matthew Xie <mattx@google.com> Init variables to fix compiler error

Change-Id: Ib41ecc8be53f64f10446b758c54eaf41f2a2e725
tm/btm_ble.c
6efed2dbe3da9d7ccf636880aa9789320c367edb 09-May-2014 Zhihai Xu <zhihaixu@google.com> Unable to pair and connect A2DP headset with DUT on KWD

this is due to some field type is not defined correctly.
We don't have this problem with old compile option.
recently some compile option change expose this bug.

bug:14489818
Change-Id: Ief48ec7d1312eb588fc344ea0afb153226bf0541
tm/btm_int.h
3fcde2fdaae4d097855243a73c2d0a6be1f0dd0a 03-May-2014 Sharvil Nanavati <sharvil@google.com> Fix data type for rmt_auth_req; it stores an integral value.

This broke pairing in a bunch of ways, most notably the inability
to use Just Works pairing mode. Just Works is used quite heavily
by iOS devices.

http://b/14438257

Change-Id: I4d32b446d0435acfc73987b91dbd1a0bd3b53ec3
tm/btm_int.h
2e06f006d2e403b43f3b10016b14d5591807e67b 09-May-2014 Zhihai Xu <zhihaixu@google.com> Unable to pair and connect A2DP headset with DUT on KWD

this is due to some field type is not defined correctly.
We don't have this problem with old compile option.
recently some compile option change expose this bug.

bug:14489818
Change-Id: Ief48ec7d1312eb588fc344ea0afb153226bf0541
tm/btm_int.h
10266fdad65bb8e378d2fa49de8e1368a91d7270 03-May-2014 Sharvil Nanavati <sharvil@google.com> Fix data type for rmt_auth_req; it stores an integral value.

This broke pairing in a bunch of ways, most notably the inability
to use Just Works pairing mode. Just Works is used quite heavily
by iOS devices.

http://b/14438257

Change-Id: I4d32b446d0435acfc73987b91dbd1a0bd3b53ec3
tm/btm_int.h
c90b5ab247ce9e297e4185444b2e623a799fe447 07-May-2014 Dmitry Grinberg <dmitrygr@google.com> DO NOT MERGE: allow customization of sniff params

This completely overrides sniff params with hardcoded external values.
Yes, we understand this is not likely to be useful in ther real world.
This was requested by a vendor for power testing purposes.

Change-Id: Iaf03516752ea49fff2f0be28d5a4b27b039f1214
cic/hcicmds.c
c2aeb2cee2898feb705506af2bf00f779ae812e7 07-May-2014 Narayan Kamath <narayan@google.com> Fix-build : Do not build bluedroid for 64 bit targets.

This code is not 64 bit safe. In particular, it attempts
to cast pointer types to UINT32 in several places. For now,
build it as a 32 bit library. A 64 bit variant will not be
needed if libbluetooth_jni is also build for 32 bit only.

Change-Id: Ic5f86bd2823083cacf21a852d1c13b4796a7e125
ndroid.mk
a1201a6ec68831a5786b0ff5cca62dcf15a77e7b 02-May-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Send Close event to upper layers during reconnection

This patch sends close event callback to upper layers, so that UI
is updated of correct state of HID connection when connection
between hid host and hid device drops for some reason and host is
attempting reconnection. Without this patch, upper layers gives
false update of connection still present when actually no connection
exists between hid devices. Connection state was only getting updated
if reconnection attempt was also failing.

Change-Id: Ic276d9b57c5c84c4264ddeeadc34c983c718ba3a
id/hidh_conn.c
5aec4865e0231bbdefbcebad270e8cb9bf002d7b 19-Dec-2013 Hemant Gupta <hemantg@codeaurora.org> GAP: Return BTM_CMD_STARTED from btm_sec_l2cap_access_req

Return BTM_CMD_STARTED from btm_sec_l2cap_access_req when
remote device link is neither authenticated or encrypted so as
to send L2CAP Peer connect response with status auth pending.
This lets remote device extend the waiting time. This fixes IOT
issues with HP laptop EliteBook 8440p/8460p where pairing was
not possible.

Change-Id: I6cf6a72640de938a8145b541d4bad1bcba758ac5
tm/btm_sec.c
db9ad595f2c29df469559d6d49a178e6b75db5d6 18-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> GAP: Avoiding two disconnections from DUT

Avoid sending two hci disconnect commandss from DUT when remote
initiated connection fails when user presses cancel for incoming
pairing request.

Change-Id: Idd05ffbcaac427515a54216adcdd7dbe26cb21c8
tm/btm_sec.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
vdt/avdt_l2c.c
nep/bnep_int.h
nep/bnep_utils.c
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_int.h
tm/btm_pm.c
tm/btm_sco.c
tm/btm_sec.c
tu/btu_hcif.c
tu/btu_task.c
ap/gap_api.c
ap/gap_ble.c
ap/gap_conn.c
ap/gap_utils.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_auth.c
att/gatt_cl.c
att/gatt_db.c
att/gatt_int.h
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
cic/hciblecmds.c
id/hidh_conn.c
nclude/bt_types.h
nclude/btm_api.h
nclude/btm_ble_api.h
nclude/btu.h
nclude/gap_api.h
nclude/gatt_api.h
nclude/hcidefs.h
nclude/hcimsgs.h
nclude/l2c_api.h
nclude/smp_api.h
nclude/uipc_msg.h
2cap/l2c_api.c
2cap/l2c_ble.c
2cap/l2c_fcr.c
2cap/l2c_int.h
2cap/l2c_link.c
2cap/l2c_main.c
2cap/l2c_ucd.c
2cap/l2c_utils.c
cap/mca_l2c.c
fcomm/rfc_int.h
fcomm/rfc_utils.c
mp/aes.c
mp/smp_act.c
mp/smp_int.h
mp/smp_l2c.c
mp/smp_main.c
mp/smp_utils.c
rvc/srvc_dis.c
rvc/srvc_eng.c
b6eec9b5426ce1b4d79fdebefa37aa213a0cbb1e 17-Apr-2014 Sharvil Nanavati <sharvil@google.com> Use standard C99 integral types. This offers better type safety.

Notice that I had to change a couple of function declarations
because the compiler caught the inconsistency with the new typedefs.

Change-Id: I202fd1dc086de41e1cfe083eb1a5f74a942d01e5
tm/btm_ble_gap.c
nclude/l2c_api.h
5861cc903acddca8ef15f071c59251d62719dba7 05-Jul-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Reset Disconnect Reason on Connection Establishment

This patch resets the disconnect reason to successful on HID Interrupt
channel establishment. Without this change, wrong reason is propogated
to BTA layer on disconnection initiated either from DUT or Remote end.

Change-Id: I42641b511e44a761574faf8eafb7b0826e24aeb3
id/hidh_conn.c
538ec0f2e17dad8f44741c58b69ed287f5b7ff2c 29-Oct-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Serialize L2CAP disconnection

This patch serializes host initiated hid disconnection by sending
control channel disconnect request only when disconnection response
for interrupt channel has been received.

Change-Id: Ie0c5c62593bb0dd32f83b76bf0d6c1d950f1a684
id/hidh_conn.c
8b91e6c743a6926e3f67b035f8811c8a7665d751 22-Nov-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Handle connection failure in disconnecting state

This patch handles connectio error of interrupt channel while in
disconnecting state. Without this patch it was seen that upper
layers would not be informed about failure of interrupt channel
connection in this corner case leading to UI stuck at connecting
forever.

Change-Id: I1f5f18e70470eff17b21f2ed921edaefd3c89f9c
id/hidh_conn.c
0c88f8c0aa4de6e1aa022af12842a080b9e517da 09-Dec-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Reset Idle timeout to 0 while hid disconnection

This patch resets idle l2cap timeout to 0 while disconnecting HID L2CAP's.
without this patch it was observed that after hid l2cap disconnection,
ACL disconnection was taking 4 seconds.

Change-Id: I39f16d3981f4a8b5cdf28cd7865631900007d5b8
id/hidh_conn.c
98248b56ceaec03c099f99eaa9096e36f15c28df 02-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Establish Interrupt Channel when Control channel is configured

This patch starts establishment of Interrupt channel only when HID Control
channel has been properly configured.

Change-Id: I28f1100abeece9255fbdd5df312236c18baebe17
id/hidh_conn.c
b203d478f4835f5e35217874a1787e1914328f7c 21-Nov-2013 Andre Eisenbach <andre@broadcom.com> LE: Add controller based advertising filter API (2/2)

Change-Id: I444654bf19a048d5fcef33f79edbf1cdda3d3b62
ndroid.mk
tm/btm_ble_int.h
cic/hciblecmds.c
nclude/hcimsgs.h
31fafe5d31a6dc88013fb7f02f6ef203426ce6c3 18-Apr-2014 Sharvil Nanavati <sharvil@google.com> Eliminate warnings, add -Wall and -Werror to all projects.

This change enables all warnings and treats warnings as errors. As
a result, nobody should be able to submit new code to bluedroid
that contains compiler warnings. Instead, they should fix the warnings
before submitting.

This change has already caught a type mismatch bug in
stack/avrc/avrc_api.c where an integer was being stored in a boolean.

Change-Id: Ic41960754b39a1a6aa37f1c1095003195f466183
vrc/avrc_api.c
5b6b25d804074ddec8228fd374296c47986fea65 05-Apr-2014 Sharvil Nanavati <sharvil@google.com> Compile using C99.

Change-Id: Ifda03e0b3ee3a915bf7ce5a5dce27e5e215dcce2

Conflicts:
bta/Android.mk
gki/Android.mk
main/Android.mk
stack/Android.mk
test/bluedroidtest/Android.mk
ndroid.mk
54db2c249efa91082c5a167a924a527ec73ff38d 13-Apr-2014 Sharvil Nanavati <sharvil@google.com> Remove executable bit on source files.

Change-Id: Id456478aea626f57fed3479346e8fb4dbd0fafa6
ndroid.mk
vrc/avrc_api.c
vrc/avrc_bld_tg.c
vrc/avrc_int.h
vrc/avrc_opt.c
vrc/avrc_pars_ct.c
vrc/avrc_pars_tg.c
vrc/avrc_sdp.c
vrc/avrc_utils.c
0ab408fe6f6cb698ba1fcd8492d117c0d3574c7d 02-May-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Send Close event to upper layers during reconnection

This patch sends close event callback to upper layers, so that UI
is updated of correct state of HID connection when connection
between hid host and hid device drops for some reason and host is
attempting reconnection. Without this patch, upper layers gives
false update of connection still present when actually no connection
exists between hid devices. Connection state was only getting updated
if reconnection attempt was also failing.

Change-Id: Ic276d9b57c5c84c4264ddeeadc34c983c718ba3a
id/hidh_conn.c
ca7f48cd6e94d29150d7d7a2d7918f9b50b99b7e 19-Dec-2013 Hemant Gupta <hemantg@codeaurora.org> GAP: Return BTM_CMD_STARTED from btm_sec_l2cap_access_req

Return BTM_CMD_STARTED from btm_sec_l2cap_access_req when
remote device link is neither authenticated or encrypted so as
to send L2CAP Peer connect response with status auth pending.
This lets remote device extend the waiting time. This fixes IOT
issues with HP laptop EliteBook 8440p/8460p where pairing was
not possible.

Change-Id: I6cf6a72640de938a8145b541d4bad1bcba758ac5
tm/btm_sec.c
19221011da89713c8b360e39953327c8cd920b6c 18-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> GAP: Avoiding two disconnections from DUT

Avoid sending two hci disconnect commandss from DUT when remote
initiated connection fails when user presses cancel for incoming
pairing request.

Change-Id: Idd05ffbcaac427515a54216adcdd7dbe26cb21c8
tm/btm_sec.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
vdt/avdt_l2c.c
nep/bnep_int.h
nep/bnep_utils.c
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_int.h
tm/btm_pm.c
tm/btm_sco.c
tm/btm_sec.c
tu/btu_hcif.c
tu/btu_task.c
ap/gap_api.c
ap/gap_ble.c
ap/gap_conn.c
ap/gap_utils.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_auth.c
att/gatt_cl.c
att/gatt_db.c
att/gatt_int.h
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
cic/hciblecmds.c
id/hidh_conn.c
nclude/bt_types.h
nclude/btm_api.h
nclude/btm_ble_api.h
nclude/btu.h
nclude/gap_api.h
nclude/gatt_api.h
nclude/hcidefs.h
nclude/hcimsgs.h
nclude/l2c_api.h
nclude/smp_api.h
nclude/uipc_msg.h
2cap/l2c_api.c
2cap/l2c_ble.c
2cap/l2c_fcr.c
2cap/l2c_int.h
2cap/l2c_link.c
2cap/l2c_main.c
2cap/l2c_ucd.c
2cap/l2c_utils.c
cap/mca_l2c.c
fcomm/rfc_int.h
fcomm/rfc_utils.c
mp/aes.c
mp/smp_act.c
mp/smp_int.h
mp/smp_l2c.c
mp/smp_main.c
mp/smp_utils.c
rvc/srvc_dis.c
rvc/srvc_eng.c
2e1e6d89907172fadabc5d9bbef27198ce81cb00 17-Apr-2014 Sharvil Nanavati <sharvil@google.com> Use standard C99 integral types. This offers better type safety.

Notice that I had to change a couple of function declarations
because the compiler caught the inconsistency with the new typedefs.

Change-Id: I202fd1dc086de41e1cfe083eb1a5f74a942d01e5
tm/btm_ble_gap.c
nclude/l2c_api.h
04af23f96cdeec8693be212e25ed130a1c2ebc8d 22-Apr-2014 Matthew Xie <mattx@google.com> am 1b562939: am 2e470dc4: Merge "Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue"

* commit '1b562939899f7c91c437b390e6e216c7c53acfd6':
Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue
1b562939899f7c91c437b390e6e216c7c53acfd6 22-Apr-2014 Matthew Xie <mattx@google.com> am 2e470dc4: Merge "Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue"

* commit '2e470dc48e608fd46cd2d55aa01efb9ce7eb4bdb':
Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue
f96da0ee19d8eb9d159b965338bdd15d327cb474 22-Feb-2014 Zhihai Xu <zhihaixu@google.com> Allow simultaneous LE Observe and BTM Inquiry/Scan

This patch allows BTM inquiry and LE observe to be launched
and overlap each others' occurance by redirecting results
and handling states accordingly.

CRs-Fixed: 579505

Conflicts:
stack/btm/btm_ble_gap.c
bug 12939764
Change-Id: Ifde73f17f8d40e9ebfff3b49e409591189574ee0
tm/btm_ble_gap.c
tm/btm_inq.c
tm/btm_int.h
3a55ec216948d28224d3ab0d38fb8697daeed3e5 07-Feb-2014 Zhihai Xu <zhihaixu@google.com> SDP: Allocate proper sized scratch buffer for SDP response

The buffer allocated for attribute response is being reused
for subsequent requests for an SDP connection. Check the
buffer size before using for subsequent requests and
reallocate if required.

Change-Id: Ib00aff2c4512192c29265cf0adb89e380adf0b35
dp/sdp_server.c
8f322bfe42a57902e7c45713a5c6215dfbe2494a 05-Jul-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Reset Disconnect Reason on Connection Establishment

This patch resets the disconnect reason to successful on HID Interrupt
channel establishment. Without this change, wrong reason is propogated
to BTA layer on disconnection initiated either from DUT or Remote end.

Change-Id: I42641b511e44a761574faf8eafb7b0826e24aeb3
id/hidh_conn.c
bf51271f145204a0489597ccd9c851daa7ee0ad7 29-Oct-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Serialize L2CAP disconnection

This patch serializes host initiated hid disconnection by sending
control channel disconnect request only when disconnection response
for interrupt channel has been received.

Change-Id: Ie0c5c62593bb0dd32f83b76bf0d6c1d950f1a684
id/hidh_conn.c
742d9fa575cd1ea12c7d4413f1bec62863b07cab 22-Nov-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Handle connection failure in disconnecting state

This patch handles connectio error of interrupt channel while in
disconnecting state. Without this patch it was seen that upper
layers would not be informed about failure of interrupt channel
connection in this corner case leading to UI stuck at connecting
forever.

Change-Id: I1f5f18e70470eff17b21f2ed921edaefd3c89f9c
id/hidh_conn.c
1747956ba052b1538c29fe7793403dc4f13ba525 09-Dec-2013 Hemant Gupta <hemantg@codeaurora.org> HID: Reset Idle timeout to 0 while hid disconnection

This patch resets idle l2cap timeout to 0 while disconnecting HID L2CAP's.
without this patch it was observed that after hid l2cap disconnection,
ACL disconnection was taking 4 seconds.

Change-Id: I39f16d3981f4a8b5cdf28cd7865631900007d5b8
id/hidh_conn.c
c352606db3258360fc32cf435c0ad23e55a1cc67 21-Apr-2014 Ariel Gertzenstein <agertzen@google.com> am 9056d20c: DO NOT MERGE Rewrite PAN_Write in terms of PAN_WriteBuf.

* commit '9056d20c9364cb4829aabeb517b98440aa0d5240':
DO NOT MERGE Rewrite PAN_Write in terms of PAN_WriteBuf.
9056d20c9364cb4829aabeb517b98440aa0d5240 05-Apr-2014 Ariel Gertzenstein <agertzen@google.com> DO NOT MERGE Rewrite PAN_Write in terms of PAN_WriteBuf.

The original code looked copy/pasted. The new implementation still
results in the same number of buffer copies but is much easier to
read and reduces redundancy.

Change-Id: I3ace395d2b124074e9687d13ae9a1b0b93a25a31
an/pan_api.c
7f7d49370a7527052995c0f1ce355f72b073510d 02-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Establish Interrupt Channel when Control channel is configured

This patch starts establishment of Interrupt channel only when HID Control
channel has been properly configured.

Change-Id: I28f1100abeece9255fbdd5df312236c18baebe17
id/hidh_conn.c
cd50ccd7abeddd368badc6ace8fe45020fecaf3b 19-Apr-2014 Wei Wang <weiwa@google.com> Merge "LE: Add controller based advertising filter API (2/2)" into klp-wireless-dev
2d75441cc17236564a431c6a5fc4c9e356fb7294 21-Nov-2013 Andre Eisenbach <andre@broadcom.com> LE: Add controller based advertising filter API (2/2)

Change-Id: I444654bf19a048d5fcef33f79edbf1cdda3d3b62
ndroid.mk
tm/btm_ble_int.h
cic/hciblecmds.c
nclude/hcimsgs.h
6dae552ef8d82b30fa66efab9c6f75644a805bbe 18-Apr-2014 Sharvil Nanavati <sharvil@google.com> Eliminate warnings, add -Wall and -Werror to all projects.

This change enables all warnings and treats warnings as errors. As
a result, nobody should be able to submit new code to bluedroid
that contains compiler warnings. Instead, they should fix the warnings
before submitting.

This change has already caught a type mismatch bug in
stack/avrc/avrc_api.c where an integer was being stored in a boolean.

Change-Id: Ic41960754b39a1a6aa37f1c1095003195f466183
vrc/avrc_api.c
2d5d56ead7d9dd811cf9c5ef26b16c4a0b149ade 05-Apr-2014 Sharvil Nanavati <sharvil@google.com> Rewrite PAN_Write in terms of PAN_WriteBuf.

The original code looked copy/pasted. The new implementation still
results in the same number of buffer copies but is much easier to
read and reduces redundancy.

Change-Id: I3ace395d2b124074e9687d13ae9a1b0b93a25a31
an/pan_api.c
3aafefbb0fe4c1577635ddb455c764c8da91860a 16-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "remove all advertised services in SDP btif_av_init is called twice. Don't need call it in enable. disable EDR ATT SDP record" into klp-wireless-dev
d92e3cf7b26fe2dd64e7c27b43428d3cab85e371 05-Apr-2014 Zhihai Xu <zhihaixu@google.com> remove all advertised services in SDP
btif_av_init is called twice. Don't need call it in enable.
disable EDR ATT SDP record

bug:13558005
Change-Id: Id834697eae150018f9a0382d9c1e6c972e885739
nclude/gap_api.h
nclude/gatt_api.h
d0f17781e92806065b04aa95a9b9ff9cbe5b2cad 16-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "Workaround IPHONE problem" into klp-wireless-dev
facc510f94c02440e9004f31110463cd1d367221 18-Mar-2014 Zhihai Xu <zhihaixu@google.com> Workaround IPHONE problem

When we send LL_ENC_REQ to iphone early, iphone didn't send
LL_ENC_RESPONSE back to us, later the iphone will disconnect from us.
The workaround is to send LL_ENC_REQ after receive first ATT read request
from iphone, Iphone will be ready at that time by experiment.

bug:13417692
Change-Id: Ic42dda36b927df260113771152cff67032b22e5f
att/gatt_db.c
51356020fb8fec90a01eeaa23faaf9d3cb0b6322 16-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "treat BTA_BUSY as success to avoid unpair the BLE device" into klp-wireless-dev
b9238669b5ad298980d60540e8019c4b90a866b1 13-Mar-2014 Zhihai Xu <zhihaixu@google.com> treat BTA_BUSY as success to avoid unpair the BLE device

when switch from peripheral mode, both server and client will
call btif_gatt_check_encrypted_link, the first call will start the
encryption. the second call will get callback with BTA_BUSY status,
before encryption complete, which cause unpair with the remote device.
we shouldnot treat BTA_BUSY as error.

bug:13417692
Change-Id: I065432dde2553e8ccee3a14a7b321b85bca8d3ba
tm/btm_ble_addr.c
7fc4503f4957e0ab6f5b59640594a2d844336caa 16-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "print MTU size after get MTU request from iphone." into klp-wireless-dev
52c0ccbb6b4f1de8a4b1e63901b55d94dff32310 21-Mar-2014 Zhihai Xu <zhihaixu@google.com> print MTU size after get MTU request from iphone.

bug:13568537
Change-Id: If1a4e93b7ef53662bd740da0d3bb91fe747de031
att/gatt_sr.c
936531f84a92cc07f8b2037c4c9737a7e1761427 16-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "support resolve BLE random mac address for both central and peripheral mode." into klp-wireless-dev
6f908b2cf977794342ce661d99c7d45b03dc6f58 11-Mar-2014 Zhihai Xu <zhihaixu@google.com> support resolve BLE random mac address for both central and peripheral mode.

bug:12990335
Change-Id: Ica42dcf039487b7b01454ce9255f3f6fae2faaaf
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_gap.c
tm/btm_int.h
2cap/l2c_ble.c
43d8f252240611ad2b67f9587f91058edd9955a0 16-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "support peripheral mode feature to connect iphone to android device." into klp-wireless-dev
5f72121ddc2f0249e896e19b186a05888bce2331 10-Feb-2014 Zhihai Xu <zhihaixu@google.com> support peripheral mode feature to connect iphone to android device.

enable BLE_PERIPHERAL_MODE_SUPPORT flag and fix the bug
the discoverability flag is not set in advertisement packet,
which cause the central device(iphone) can not find android device
during scan.
use displayOnly IO cap for dory, so dory can display the pin,
and the iphone(central device) will input the pin.
bug:12797572

Change-Id: Ie15ea9e340e3692df846399b9a85aa6d2a97eba7
att/gatt_api.c
nclude/btm_ble_api.h
mp/smp_act.c
34fa499c449b8e464cb417a9e8dce4eb027b4a30 31-Jan-2014 Ariel Gertzenstein <agertzen@google.com> DO NOT MERGE Fix bug in PAN code where no new PAN connections can be made.

If you call PAN_connect() followed quickly by PAN_disconnect(),
you won't be able to establish any additional PANU connections.
This happens because the connection never has a chance to make
it into PAN_STATE_CONNECTED and num_conns only gets decremented
if you disconnect in the connected state. As a result, subsequent
calls to connect will fail because the stack still believes there
to be an existing connection.

Change-Id: Id24873828ca4f517496cb19a44993d0e8e837a1e
an/pan_api.c
795bcebcbc6dd20268e3089175d4122301f35edd 05-Apr-2014 Sharvil Nanavati <sharvil@google.com> Compile using C99.

Change-Id: Ifda03e0b3ee3a915bf7ce5a5dce27e5e215dcce2

Conflicts:
bta/Android.mk
gki/Android.mk
main/Android.mk
stack/Android.mk
test/bluedroidtest/Android.mk
ndroid.mk
d2ccbbb73c7851d2fa28dc212d2fffc0ad4e5d50 13-Apr-2014 Sharvil Nanavati <sharvil@google.com> Remove executable bit on source files.

Change-Id: Id456478aea626f57fed3479346e8fb4dbd0fafa6
ndroid.mk
vrc/avrc_api.c
vrc/avrc_bld_tg.c
vrc/avrc_int.h
vrc/avrc_opt.c
vrc/avrc_pars_ct.c
vrc/avrc_pars_tg.c
vrc/avrc_sdp.c
vrc/avrc_utils.c
07410e996c151f12852ab9216deb3cac6293ff17 07-Apr-2014 Zhihai Xu <zhihaixu@google.com> am 2f2d9f41: am a0cf8d6f: remove all advertised services in SDP btif_av_init is called twice. Don\'t need call it in enable. disable EDR ATT SDP record

* commit '2f2d9f412f7dc999eee87161cb2c30c786523ff2':
remove all advertised services in SDP btif_av_init is called twice. Don't need call it in enable. disable EDR ATT SDP record
2f2d9f412f7dc999eee87161cb2c30c786523ff2 07-Apr-2014 Zhihai Xu <zhihaixu@google.com> am a0cf8d6f: remove all advertised services in SDP btif_av_init is called twice. Don\'t need call it in enable. disable EDR ATT SDP record

* commit 'a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21':
remove all advertised services in SDP btif_av_init is called twice. Don't need call it in enable. disable EDR ATT SDP record
a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21 05-Apr-2014 Zhihai Xu <zhihaixu@google.com> remove all advertised services in SDP
btif_av_init is called twice. Don't need call it in enable.
disable EDR ATT SDP record

bug:13558005
Change-Id: Id834697eae150018f9a0382d9c1e6c972e885739
nclude/gap_api.h
nclude/gatt_api.h
88b82a16b952f9ef1df0ced83a5ce2a05546d004 02-Apr-2014 Mike J. Chen <mjchen@google.com> am 3fc61a27: am 0df29ac9: Fix compiler/linker errors when A2D_SC_INCLUDED is FALSE

* commit '3fc61a2764bd2bba7dd34abaffb625f64108dfd7':
Fix compiler/linker errors when A2D_SC_INCLUDED is FALSE
1a111f7ddbff044490393aa2b49b81f55c5a14ce 02-Apr-2014 Mike J. Chen <mjchen@google.com> am 5a8ce371: am 5be3cb02: Fix compiler warnings when BLE_INCLUDED is FALSE

* commit '5a8ce371f41f355084ed912270dbe9bd68470f88':
Fix compiler warnings when BLE_INCLUDED is FALSE
3fc61a2764bd2bba7dd34abaffb625f64108dfd7 02-Apr-2014 Mike J. Chen <mjchen@google.com> am 0df29ac9: Fix compiler/linker errors when A2D_SC_INCLUDED is FALSE

* commit '0df29ac95d057a1bf74b003fa6dd6459743bcf54':
Fix compiler/linker errors when A2D_SC_INCLUDED is FALSE
5a8ce371f41f355084ed912270dbe9bd68470f88 02-Apr-2014 Mike J. Chen <mjchen@google.com> am 5be3cb02: Fix compiler warnings when BLE_INCLUDED is FALSE

* commit '5be3cb02b6947a5f115eee0c8a419f99b936c296':
Fix compiler warnings when BLE_INCLUDED is FALSE
0df29ac95d057a1bf74b003fa6dd6459743bcf54 01-Apr-2014 Mike J. Chen <mjchen@google.com> Fix compiler/linker errors when A2D_SC_INCLUDED is FALSE

Change-Id: I716927939c0f3090f16be4b2329ef22d9a6ca734
Signed-off-by: Mike J. Chen <mjchen@google.com>
2dp/a2d_sbc.c
5be3cb02b6947a5f115eee0c8a419f99b936c296 01-Apr-2014 Mike J. Chen <mjchen@google.com> Fix compiler warnings when BLE_INCLUDED is FALSE

Change-Id: I0d8f861d8a9a94586885c9acd683dd040249a465
Signed-off-by: Mike J. Chen <mjchen@google.com>
tm/btm_acl.c
7d3d17fb9e62720b8060b333662e7fa63f231cd3 01-Apr-2014 Zhihai Xu <zhihaixu@google.com> am a27b6503: am 221b822c: Merge "Workaround IPHONE problem" into klp-modular-dev

* commit 'a27b650322c6ad1d5cea2d0b4fcb7815e3176d1e':
Workaround IPHONE problem
a27b650322c6ad1d5cea2d0b4fcb7815e3176d1e 01-Apr-2014 Zhihai Xu <zhihaixu@google.com> am 221b822c: Merge "Workaround IPHONE problem" into klp-modular-dev

* commit '221b822ce1c42f4a51abc384cf09ca09b6180a9c':
Workaround IPHONE problem
221b822ce1c42f4a51abc384cf09ca09b6180a9c 01-Apr-2014 Zhihai Xu <zhihaixu@google.com> Merge "Workaround IPHONE problem" into klp-modular-dev
5702d5c6197404823f5e594764e2c67cf2416da1 18-Mar-2014 Zhihai Xu <zhihaixu@google.com> Workaround IPHONE problem

When we send LL_ENC_REQ to iphone early, iphone didn't send
LL_ENC_RESPONSE back to us, later the iphone will disconnect from us.
The workaround is to send LL_ENC_REQ after receive first ATT read request
from iphone, Iphone will be ready at that time by experiment.

bug:13417692
Change-Id: Ic42dda36b927df260113771152cff67032b22e5f
att/gatt_db.c
3860c0c6ad3c09e094d2254ba44b410f8c3f7203 31-Mar-2014 Zhihai Xu <zhihaixu@google.com> am d86082bf: am 9b971dc5: Merge "treat BTA_BUSY as success to avoid unpair the BLE device" into klp-modular-dev

* commit 'd86082bfabffa25f2af77cc69c590d6e0b14260c':
treat BTA_BUSY as success to avoid unpair the BLE device
d86082bfabffa25f2af77cc69c590d6e0b14260c 31-Mar-2014 Zhihai Xu <zhihaixu@google.com> am 9b971dc5: Merge "treat BTA_BUSY as success to avoid unpair the BLE device" into klp-modular-dev

* commit '9b971dc52f5933c04e4f49ad99c9949df961afc5':
treat BTA_BUSY as success to avoid unpair the BLE device
9b971dc52f5933c04e4f49ad99c9949df961afc5 31-Mar-2014 Zhihai Xu <zhihaixu@google.com> Merge "treat BTA_BUSY as success to avoid unpair the BLE device" into klp-modular-dev
02407a0fbcdda41714d101702d75b123742177fe 07-Feb-2014 Mallikarjuna GB <gbmalli@codeaurora.org> SDP: Allocate proper sized scratch buffer for SDP response

The buffer allocated for attribute response is being reused
for subsequent requests for an SDP connection. Check the
buffer size before using for subsequent requests and
reallocate if required.

Change-Id: Ib00aff2c4512192c29265cf0adb89e380adf0b35
dp/sdp_server.c
57bda5037c0798c85388428a6d3a7771e1cc8034 17-Apr-2013 Shobek Sam Attupurath <sattupurath@nvidia.com> Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue

For PORCHE_PAIRING_CONFLICT issue when there are no other paired devices
available in bluetooth list pairing always fails (as per implementation
in bluedroid stack).
In this case when pin key request is received use 0000 as the pin key
so that pairing is successful.

Bug 67614

Change-Id: I67b2e689cfcc52c93fdda62dd742812698baa0e6
tm/btm_sec.c
0b151accb74f3c2cfc78ec538a11e2949efd71e1 24-Mar-2014 Matthew Xie <mattx@google.com> am 335a8a6c: resolved conflicts for merge of f4471c7e to klp-modular-dev

* commit '335a8a6c08abfbea29dead003b4fa95fca786ccd':
DO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan
335a8a6c08abfbea29dead003b4fa95fca786ccd 24-Mar-2014 Matthew Xie <mattx@google.com> resolved conflicts for merge of f4471c7e to klp-modular-dev

Change-Id: I89ce6df8f59efa8cee63775eff58262ecf438db3
f4471c7e6ca7a0bd4846b2fe4fbe78d79ef37b81 22-Feb-2014 Nitin Arora <niarora_qca@codeaurora.org> DO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan

This patch allows BTM inquiry and LE observe to be launched
and overlap each others' occurance by redirecting results
and handling states accordingly.

CRs-Fixed: 579505

Conflicts:
stack/btm/btm_ble_gap.c
bug 12939764

Change-Id: Ifde73f17f8d40e9ebfff3b49e409591189574ee0
tm/btm_ble_gap.c
tm/btm_inq.c
tm/btm_int.h
0830ad47f790fea658ddc6fa857fb36880e0c552 22-Feb-2014 Nitin Arora <niarora_qca@codeaurora.org> Allow simultaneous LE Observe and BTM Inquiry/Scan

This patch allows BTM inquiry and LE observe to be launched
and overlap each others' occurance by redirecting results
and handling states accordingly.

CRs-Fixed: 579505

Conflicts:
stack/btm/btm_ble_gap.c
bug 12939764
Change-Id: Ifde73f17f8d40e9ebfff3b49e409591189574ee0
tm/btm_ble_gap.c
tm/btm_inq.c
tm/btm_int.h
3366f7fe90af2ad2db504e2bdb963635cc2681e4 21-Mar-2014 Zhihai Xu <zhihaixu@google.com> am 8e01899e: am a27730b4: am 67467172: Merge "print MTU size after get MTU request from iphone." into klp-modular-dev

* commit '8e01899e4b152b318d1cbe0ad1be98c88fb62cd2':
print MTU size after get MTU request from iphone.
a27730b49bdd3cfeeefc2efa90e3cb196800a8dd 21-Mar-2014 Zhihai Xu <zhihaixu@google.com> am 67467172: Merge "print MTU size after get MTU request from iphone." into klp-modular-dev

* commit '6746717209435aac27eedeebdf67da1a1fbc5e5a':
print MTU size after get MTU request from iphone.
6746717209435aac27eedeebdf67da1a1fbc5e5a 21-Mar-2014 Zhihai Xu <zhihaixu@google.com> Merge "print MTU size after get MTU request from iphone." into klp-modular-dev
14beb450ebb0be4b9a2346fba3b21c9c152bf561 21-Mar-2014 Zhihai Xu <zhihaixu@google.com> print MTU size after get MTU request from iphone.

bug:13568537
Change-Id: If1a4e93b7ef53662bd740da0d3bb91fe747de031
att/gatt_sr.c
55083646d66d134d34e858e59593f590038485ea 20-Mar-2014 Zhihai Xu <zhihaixu@google.com> am a724ae33: am 593b6b9d: am e2273716: Merge "support resolve BLE random mac address for both central and peripheral mode." into klp-modular-dev

* commit 'a724ae3347f2c4f8bcccc267cee859ab422cfedc':
support resolve BLE random mac address for both central and peripheral mode.
593b6b9d001a184247a7ef1754bc0e52b419a4f2 20-Mar-2014 Zhihai Xu <zhihaixu@google.com> am e2273716: Merge "support resolve BLE random mac address for both central and peripheral mode." into klp-modular-dev

* commit 'e2273716129882b8f457913ae126895b690f3544':
support resolve BLE random mac address for both central and peripheral mode.
f7f0ee3a59f97d5ca5dd85a2daeff4919fae55c6 20-Mar-2014 Matthew Xie <mattx@google.com> Merge "Revert "Allow simultaneous LE Observe and BTM Inquiry/Scan""
222a49eaeac35c2c8291fbc5c18af1ccb7e3f6ee 20-Mar-2014 Matthew Xie <mattx@google.com> Revert "Allow simultaneous LE Observe and BTM Inquiry/Scan"

This reverts commit 890dc789cec13e2d2e5ff95574f74b1740bdecf0.

Change-Id: I8916a973ae6d278764f111267220b7751143687c
tm/btm_ble_gap.c
tm/btm_inq.c
tm/btm_int.h
0375e1932f53e81fa28cc8f10941f5e347b3e32c 20-Mar-2014 Matthew Xie <mattx@google.com> Merge "Allow simultaneous LE Observe and BTM Inquiry/Scan"
890dc789cec13e2d2e5ff95574f74b1740bdecf0 22-Feb-2014 Nitin Arora <niarora_qca@codeaurora.org> Allow simultaneous LE Observe and BTM Inquiry/Scan

This patch allows BTM inquiry and LE observe to be launched
and overlap each others' occurance by redirecting results
and handling states accordingly.

CRs-Fixed: 579505
bug 12939764
Change-Id: Ifde73f17f8d40e9ebfff3b49e409591189574ee9
tm/btm_ble_gap.c
tm/btm_inq.c
tm/btm_int.h
e2273716129882b8f457913ae126895b690f3544 19-Mar-2014 Zhihai Xu <zhihaixu@google.com> Merge "support resolve BLE random mac address for both central and peripheral mode." into klp-modular-dev
fc3fba5db90f29b072ebecc231245c8f134b594b 13-Mar-2014 Zhihai Xu <zhihaixu@google.com> treat BTA_BUSY as success to avoid unpair the BLE device

when switch from peripheral mode, both server and client will
call btif_gatt_check_encrypted_link, the first call will start the
encryption. the second call will get callback with BTA_BUSY status,
before encryption complete, which cause unpair with the remote device.
we shouldnot treat BTA_BUSY as error.

bug:13417692
Change-Id: I065432dde2553e8ccee3a14a7b321b85bca8d3ba
tm/btm_ble_addr.c
8b35b3fccc065730e6f0ee1050d3e4528e58ea37 11-Mar-2014 Zhihai Xu <zhihaixu@google.com> support resolve BLE random mac address for both central and peripheral mode.

bug:12990335
Change-Id: Ica42dcf039487b7b01454ce9255f3f6fae2faaaf
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_gap.c
tm/btm_int.h
2cap/l2c_ble.c
e2d991a1c4951c2802b4fd5761ef8669b23eb79a 10-Mar-2014 Matthew Xie <mattx@google.com> am 3d4c703b: am 06ad9fde: am 45e9aaca: Merge "Fix bug in PAN code where no new PAN connections can be made."

* commit '3d4c703b752a9f7f29badf9cc9cdeb334cb9cada':
Fix bug in PAN code where no new PAN connections can be made.
06ad9fde2aba979b2afe4b0084fb36c604e79dcd 10-Mar-2014 Matthew Xie <mattx@google.com> am 45e9aaca: Merge "Fix bug in PAN code where no new PAN connections can be made."

* commit '45e9aaca1c4e49f22cc23105aed6c625ad0d1278':
Fix bug in PAN code where no new PAN connections can be made.
45e9aaca1c4e49f22cc23105aed6c625ad0d1278 10-Mar-2014 Matthew Xie <mattx@google.com> Merge "Fix bug in PAN code where no new PAN connections can be made."
69218b169bd0ff9fdf1c5de148b3807e70de85de 10-Mar-2014 Zhihai Xu <zhihaixu@google.com> Merge changes I6673d478,I953b9ca6 into klp-dev

* changes:
DO NOT MERGE BLE stack doesn't handle multiple l2cap_conn_update requests
DO NOT MERGE sometime the BLE connection parameter isnot updated for the first time
4c938b5d5addd36b5f66bfea93b9db3b0e10adf6 09-Mar-2014 Zhihai Xu <zhihaixu@google.com> am af16d116: am 91f01220: DO NOT MERGE trouble syncing with fitbit and can\'t turn off bluetooth.

* commit 'af16d11685e040b0cf332e729f8f4a0ab6ef0e16':
DO NOT MERGE trouble syncing with fitbit and can't turn off bluetooth.
af16d11685e040b0cf332e729f8f4a0ab6ef0e16 09-Mar-2014 Zhihai Xu <zhihaixu@google.com> am 91f01220: DO NOT MERGE trouble syncing with fitbit and can\'t turn off bluetooth.

* commit '91f012208070d71e6e9e0f38aa36e78e99f2ff4e':
DO NOT MERGE trouble syncing with fitbit and can't turn off bluetooth.
27420a0327c04ce9407d2fe9138dde7f6dfe94e0 09-Mar-2014 Zhihai Xu <zhihaixu@google.com> Merge "DO NOT MERGE BLE HID device connection failure due to security error." into klp-dev
87f26bcdd92ea462266caf539edb4174834cac17 09-Mar-2014 Zhihai Xu <zhihaixu@google.com> Merge "DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event." into klp-dev
91f012208070d71e6e9e0f38aa36e78e99f2ff4e 15-Jan-2014 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE trouble syncing with fitbit and can't turn off bluetooth.

this is to work around broadcom firmware problem to handle
unsolicited command complete event for HCI_LE_Create_Connection_Cancel
and LE connection complete event with status error code (0x2)
unknown connection identifier from bluetooth controller
the workaround is to release the HCI connection to avoid out of sync
with bluetooth controller, which cause BT can't be turned off.

bug:11614046
Change-Id: Ia5c5ad0c6c9b1a4f03253cac8a7caaf21341c88c
tm/btm_ble.c
6e8d78906338d2d961d7e4356ce4978fd58e5e63 18-Dec-2013 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE BLE stack doesn't handle multiple l2cap_conn_update requests

we can define 4 bits as flags:
1. L2C_BLE_CONN_UPDATE_DISABLE:
if set it means disable update connection parameter. otherwise enable
2.L2C_BLE_NEW_CONN_PARAM:
if set, it means we have new connection parameter which is needed to be configured
if possible(after update done or enable).
3.L2C_BLE_UPDATE_PENDING:
if set, it means waiting for connection parameter update finished.
this flag will be cleared in btu_ble_ll_conn_param_upd_evt.
will be set when we call btsnd_hcic_ble_upd_ll_conn_params
4.L2C_BLE_NOT_DEFAULT_PARAM:
if set, it means we don't use the default connection parameter.
so when we disable update,
we need to configure default connection parameter.
with these 4 flags, we can replace all these states:
UPD_ENABLED, UPD_DISABLED, UPD_PENDING and UPD_UPDATED.
so we can cover all the corner cases which aren't handled
by original code.

bug:11450715
Change-Id: I6673d4783a8063bf9e8a213c6669800f86e67945
tu/btu_hcif.c
nclude/l2c_api.h
2cap/l2c_ble.c
2cap/l2c_int.h
61973be637027a4e91b99ca3e19fe964481936b2 17-Nov-2013 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE sometime the BLE connection parameter isnot updated for the first time

When we receive the BLE connection parameter update
from remote device after smp_send_pair_req before
start BLE service discovery(bta_gattc_set_discover_st).
We will miss update this BLE connection parameter.
The reason is we call
L2CA_EnableUpdateBleConnParams(p_cb->pairing_bda, FALSE);
in smp_send_pair_req ,We change the state to UPD_DISABLED.

When we receive the new BLE connection parameter from
remote device, we will update the state to UPD_PENDING,
which will update the new connection parameter
when enable the connection parameter update.

when we start BLE service discovery
we call L2CA_EnableUpdateBleConnParams(p_srcb->server_bda, FALSE);
in bta_gattc_set_discover_st, We will update the state back to
UPD_DISABLED, which will cause we miss updating
the new connection parameter when enable the connection parameter update.

The fix is don't change the state to UPD_DISABLED
when the state is UPD_PENDING for disabling.

bug:11727252
Change-Id: I953b9ca669e3460e18b340e7779cc54e03d6305b
2cap/l2c_ble.c
b9912730d082c7bca7d94bb9ddac4447cfad362f 13-Nov-2013 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE 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
ap/gap_ble.c
att/gatt_attr.c
att/gatt_auth.c
nclude/gatt_api.h
rvc/srvc_eng.c
1918cdd2b8d741a4556f5d5b20835fb2561c65b3 16-Nov-2013 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event.

we call smp_proc_release_delay to setup a timer.
We will send a pair failure message to uplayer after the time expired.
Right before the time expire, the l2cap connection is disconnected
from remote device, we receive L2C_DISC, which will call smp_delay_terminate,
smp_delay_terminate will send a pair success message to uplayer.
The fix is not to change the status if the remote device disconnect the link

bug:11716967
Change-Id: I8ca63599a170ec86913785aafea552301cec37df
mp/smp_act.c
b74fe9e2c9fc0939f5c18282c985622f20b78d2a 08-Nov-2013 Andre Eisenbach <andre@broadcom.com> DO NOT MERGE LE: Add service UUIDs and data to advertising data

Add support for UUIDs and custom service data in the advertising and
scan response records.

Cherry picking ble advertising changes from master to KLP MR2.
b/13137996

Change-Id: I6470427ad194871488cc90f3ab384b9ecf326b15
att/gatt_api.c
66f581bd7df059dfd540297a3d6a6015b22bb3c4 05-Mar-2014 Mike J. Chen <mjchen@google.com> am f6137714: am 3ff3d444: am f9c6502a: Change some printfs in sdp_api.c to SDP_TRACE_DEBUG

* commit 'f6137714438b3ed9e2a29d1ada94b2b531bb940d':
Change some printfs in sdp_api.c to SDP_TRACE_DEBUG
3ff3d4448da74b395a14c5b88a31747e4ee7c4e0 05-Mar-2014 Mike J. Chen <mjchen@google.com> am f9c6502a: Change some printfs in sdp_api.c to SDP_TRACE_DEBUG

* commit 'f9c6502a109b0506916969fe016148bd6addf129':
Change some printfs in sdp_api.c to SDP_TRACE_DEBUG
f9c6502a109b0506916969fe016148bd6addf129 25-Feb-2014 Mike J. Chen <mjchen@google.com> Change some printfs in sdp_api.c to SDP_TRACE_DEBUG

The printfs were going to console, which is generally not useful
in Android.

Change-Id: I3b08247c916dc084dfb004ac71fe234d9a541927
Signed-off-by: Mike J. Chen <mjchen@google.com>
dp/sdp_api.c
3f6df6f2bbc670fd3a54b63516c89f682fd234f7 27-Feb-2014 Elliott Hughes <enh@google.com> am 33428009: am 780bc50d: am 509b2d73: Merge "TARGET_SIMULATOR is long dead."

* commit '3342800947fd6b3167e14c3858179b830dfa0644':
TARGET_SIMULATOR is long dead.
780bc50ded9e26ad51db651d21e1a0d489300793 27-Feb-2014 Elliott Hughes <enh@google.com> am 509b2d73: Merge "TARGET_SIMULATOR is long dead."

* commit '509b2d7358545945eb22dde2449d4f8d6e3b3b09':
TARGET_SIMULATOR is long dead.
f16a56021d2d8416d8aa2f6ef5cfd98bb4ac1e17 27-Feb-2014 Elliott Hughes <enh@google.com> TARGET_SIMULATOR is long dead.

Change-Id: I6ba4a55c865370f12ae30f445661b54bbc714f8a
ndroid.mk
2eda01018250d9253bc54da9f6896d58dba1f601 27-Feb-2014 Narayan Kamath <narayan@google.com> am de34aea5: am 5303f9d3: resolved conflicts for merge of 277ba466 to klp-modular-dev-plus-aosp

* commit 'de34aea544cb4222f24e4157b96962b09445e2c5':
Various fixes for LP64
5303f9d369946f43167b5e2423799d30c4455df1 27-Feb-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 277ba466 to klp-modular-dev-plus-aosp

Change-Id: Idc42f72a94c205cfe94feb220651a483cf418e84
22c6e505dc65ab3d624e4ccd7c48c95fe2128703 12-Feb-2014 Kévin PETIT <kevin.petit@arm.com> Various fixes for LP64

Changes include
- Cast numbers to their proper length before casting to a pointer.
- Use intptr_t when pointers are stored as integers.
- Eliminate 'implicit declaration' warnings

Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

Change-Id: I5664a087c5fbc322baa9178552404dbe9a992359
tm/btm_acl.c
tu/btu_hcif.c
2cap/l2c_utils.c
an/pan_api.c
a80a98a8a8ce470c69ed119ba89e2d4d94cb5e18 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "suggest braces around empty body in an 'if' statement"

The body of an if statement could become empty if the macro body
is NULL and cause the if to apply to the next line instead.

Signed-off-by: Mike J. Chen <mjchen@google.com>
(cherry picked from dbdc69f4aed8a4eb3af31982c4722b10ee774740)

Change-Id: Ie4a18920e1fc959910451a70edcff6d7fd16e501
vdt/avdt_ccb.c
vdt/avdt_scb.c
afd4a5740e2193e7ce8dbedb8787b19f7c0016cd 25-Feb-2014 Zhihai Xu <zhihaixu@google.com> am 2ac65164: am 75c7597c: am 4fbbe711: Merge "support peripheral mode feature to connect iphone to android device." into klp-modular-dev

* commit '2ac6516450336e2ec5ccbbefa0221276ea291695':
support peripheral mode feature to connect iphone to android device.
75c7597c94a7d8ee5c79b75ccaede02f53dd7c9f 25-Feb-2014 Zhihai Xu <zhihaixu@google.com> am 4fbbe711: Merge "support peripheral mode feature to connect iphone to android device." into klp-modular-dev

* commit '4fbbe7115dd7c2f8b0df386fad4085f411beeef3':
support peripheral mode feature to connect iphone to android device.
4fbbe7115dd7c2f8b0df386fad4085f411beeef3 25-Feb-2014 Zhihai Xu <zhihaixu@google.com> Merge "support peripheral mode feature to connect iphone to android device." into klp-modular-dev
602162a13c6ed8abae53aee6deeda48b79f30911 10-Feb-2014 Zhihai Xu <zhihaixu@google.com> support peripheral mode feature to connect iphone to android device.

enable BLE_PERIPHERAL_MODE_SUPPORT flag and fix the bug
the discoverability flag is not set in advertisement packet,
which cause the central device(iphone) can not find android device
during scan.
use displayOnly IO cap for dory, so dory can display the pin,
and the iphone(central device) will input the pin.
bug:12797572

Change-Id: Ie15ea9e340e3692df846399b9a85aa6d2a97eba7
att/gatt_api.c
nclude/btm_ble_api.h
mp/smp_act.c
6f7021ffdaf5356343ad297823e17f3774e681a0 13-Feb-2014 Matthew Xie <mattx@google.com> am 081ff423: am aa58a6cf: am 13a01401: Merge "Don\'t leak process-private data on Change Local Name command."

* commit '081ff423d4b55098adcdb4d1e7786fb719b410bd':
Don't leak process-private data on Change Local Name command.
aa58a6cffbdeed8381d309a4dcb093c42b29fd84 12-Feb-2014 Matthew Xie <mattx@google.com> am 13a01401: Merge "Don\'t leak process-private data on Change Local Name command."

* commit '13a01401b8caaa28c407fe21726adc020cfb6169':
Don't leak process-private data on Change Local Name command.
3a7ff0d45c2086bc990c2fbbdb862e4e962916b7 12-Feb-2014 Mike J. Chen <mjchen@google.com> am e80e4df1: am b45e54f0: Merge "Fix warnings when BLE_INCLUDED is FALSE" into klp-modular-dev

* commit 'e80e4df1f9b9b60be37ef8ad854d7b46b9dbfb83':
Fix warnings when BLE_INCLUDED is FALSE
b45e54f09e5496f298bb5c36354dff8ae27925f2 12-Feb-2014 Mike J. Chen <mjchen@google.com> Merge "Fix warnings when BLE_INCLUDED is FALSE" into klp-modular-dev
e14a66a5fd4f05817dc7716ca9087678dd220eda 10-Feb-2014 Sharvil Nanavati <sharvil@google.com> Don't leak process-private data on Change Local Name command.

The Change Local Name command to the controller doesn't zero out
the contents of the command buffer before setting the contents. As
a result, the controller sees both the new device name and then
random data left over on the heap from previous operations. This
random data may contain sensitive information. Although the device
name is null-terminated, a controller may inadvertently leak the
additional information over the network.

This change fixes the behaviour by zeroing out the entire command
buffer before copying the device name into it. If the device name
doesn't occupy the entire buffer, the rest of it will be zero.

http://b/12949068

Change-Id: I4dd6ce6dd6709589fcd1e23f974db820820bc8e1
cic/hcicmds.c
bf9a8aa26988aedbc161d75f2688641ce59dc001 11-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warnings when BLE_INCLUDED is FALSE

Change-Id: I27c8ac6d5410159ed6bbef6aca5bf3b9692b0467
Signed-off-by: Mike J. Chen <mjchen@google.com>
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_int.h
7ec9ec8d07a7752e466cd37053cd6ff3aa2da23c 11-Feb-2014 Mike J. Chen <mjchen@google.com> am 04276619: am 384d6211: Merge "Revert "Make all warnings fatal compilation errors"" into klp-modular-dev

* commit '04276619fc4286c2b2926adfa5a5f87ab5065ee5':
Revert "Make all warnings fatal compilation errors"
384d62118595b81d081af83d68c7c1de53229768 11-Feb-2014 Mike J. Chen <mjchen@google.com> Merge "Revert "Make all warnings fatal compilation errors"" into klp-modular-dev
5b9c7f79c52128a86c81280fe03e62c007a9bf37 11-Feb-2014 Mike J. Chen <mjchen@google.com> Revert "Make all warnings fatal compilation errors"

This reverts commit ba1ee422cee82449e675a52a785dac1a9200a3df.

When BLE_INCLUDED is FALSE, we still have a bunch of warnings so
revert until that path is cleaned up.
ndroid.mk
85c1751ac78a4b9ae9f2250130000755081905fb 11-Feb-2014 Mike J. Chen <mjchen@google.com> am 3d4f5c71: am b83a8234: Merge changes Ifc373f95,I95eb887a,I1e6be2ab,Ia6ea939a,I147d0138, ... into klp-modular-dev

* commit '3d4f5c715204c3c5eeb21e351aff73072000f61e': (24 commits)
Make all warnings fatal compilation errors
Major warnings cleanup
Add macro UNUSED() to bt_utils.h
Fix unused parameter warning in static function
Add "static" to a static function
Fix a number of unused parameter warnings in static functions
Fix bug with wrong parameter passed to logu
Default send_ind_evt should be FALSE
Fix warning "implicit declaration of function 'GAP_BleReadPeerPrefConnParams'"
Fix unused parameter warnings in static functions by changing prototype
Fix some unused parameter warnings in static functions
Fix warnings about implicit declaration of bdcmp and bdcpy
Fix warning "comparison is always true due to limited range of data type"
Fix warning "suggest braces around empty body in an 'if' statement"
Fix warning "comparison is always true due to limited range of data type"
Add a function prototype for btm_ble_test_command_complete
Change argument to return ptr rather than assign to unused local
Fix warning "comparison is always true due to limited range of data type"
Fix warnings about implicit declarations
Fix warning "implicit declaration of function 'bdcmp'"
...
b83a823466bf93f7d484f7c8d23513e0e7c1a5a8 11-Feb-2014 Mike J. Chen <mjchen@google.com> Merge changes Ifc373f95,I95eb887a,I1e6be2ab,Ia6ea939a,I147d0138, ... into klp-modular-dev

* changes:
Make all warnings fatal compilation errors
Major warnings cleanup
Add macro UNUSED() to bt_utils.h
Fix unused parameter warning in static function
Add "static" to a static function
Fix a number of unused parameter warnings in static functions
Fix bug with wrong parameter passed to logu
Default send_ind_evt should be FALSE
Fix warning "implicit declaration of function 'GAP_BleReadPeerPrefConnParams'"
Fix unused parameter warnings in static functions by changing prototype
Fix some unused parameter warnings in static functions
Fix warnings about implicit declaration of bdcmp and bdcpy
Fix warning "comparison is always true due to limited range of data type"
Fix warning "suggest braces around empty body in an 'if' statement"
Fix warning "comparison is always true due to limited range of data type"
Add a function prototype for btm_ble_test_command_complete
Change argument to return ptr rather than assign to unused local
Fix warning "comparison is always true due to limited range of data type"
Fix warnings about implicit declarations
Fix warning "implicit declaration of function 'bdcmp'"
Fix warning "case label value exceeds maximum value for type"
Fix missing initializer warning
Fix missing initializer warning
Fix warning about missing initializer
ba1ee422cee82449e675a52a785dac1a9200a3df 01-Feb-2014 Mike J. Chen <mjchen@google.com> Make all warnings fatal compilation errors

Change-Id: Ifc373f954c8019b1c52d0b1b3636362afb99fff4
Signed-off-by: Mike J. Chen <mjchen@google.com>
ndroid.mk
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>
vct/avct_api.c
vct/avct_l2c.c
vct/avct_lcb.c
vct/avct_lcb_act.c
vdt/avdt_ad.c
vdt/avdt_ccb.c
vdt/avdt_ccb_act.c
vdt/avdt_l2c.c
vdt/avdt_msg.c
vdt/avdt_scb.c
vdt/avdt_scb_act.c
vrc/avrc_bld_tg.c
vrc/avrc_pars_ct.c
nep/bnep_main.c
nep/bnep_utils.c
tm/btm_ble.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_devctl.c
tm/btm_pm.c
tm/btm_sco.c
tm/btm_sec.c
tu/btu_task.c
ap/gap_api.c
ap/gap_ble.c
ap/gap_conn.c
ap/gap_utils.c
att/gatt_attr.c
att/gatt_auth.c
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
id/hidh_conn.c
2cap/l2c_ble.c
2cap/l2c_link.c
cap/mca_cact.c
cap/mca_dact.c
cap/mca_l2c.c
an/pan_main.c
fcomm/port_rfc.c
fcomm/rfc_l2cap_if.c
fcomm/rfc_mx_fsm.c
fcomm/rfc_port_fsm.c
fcomm/rfc_port_if.c
fcomm/rfc_utils.c
dp/sdp_api.c
dp/sdp_main.c
dp/sdp_server.c
mp/smp_act.c
mp/smp_api.c
mp/smp_keys.c
mp/smp_utils.c
rvc/srvc_battery.c
rvc/srvc_dis.c
rvc/srvc_eng.c
c25fdc7afc03a5fc610c80a23a4062a7c849e8e3 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix unused parameter warning in static function

Just changed the function to not take the unused parameter

Change-Id: Ia6ea939a45583ad9b8ae83125a0294086fde8909
Signed-off-by: Mike J. Chen <mjchen@google.com>
att/gatt_db.c
d2710d0185aa2a2164ec9028f0517d33cc828c39 01-Feb-2014 Mike J. Chen <mjchen@google.com> Add "static" to a static function

Change-Id: I147d0138f2871d1fa873184b1e6e8075328a8501
Signed-off-by: Mike J. Chen <mjchen@google.com>
att/gatt_cl.c
92c997f304cd62c72b66715d4726ee7040caf6f3 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix a number of unused parameter warnings in static functions

Since functions were static, just changed them to not take
the unused parameters.

Change-Id: I2f39684d84b1785d60167e617bc5fa79aeac4dda
Signed-off-by: Mike J. Chen <mjchen@google.com>
tu/btu_hcif.c
d992104a98d4a37e1e7a4dc6920c8e387fe7138b 07-Feb-2014 Zhihai Xu <zhihaixu@google.com> am 5fba60a8: resend discovery primary service ATT request with timeout

* commit '5fba60a8761b28adec2704dcbf69376ebde4f19b':
resend discovery primary service ATT request with timeout
5fba60a8761b28adec2704dcbf69376ebde4f19b 06-Feb-2014 Zhihai Xu <zhihaixu@google.com> resend discovery primary service ATT request with timeout

This is to work around the problem with iphone.
The iphone didn't respond with our first ATT request
(read By group type Request for for primary service).
the clockwork/phone host keep waiting for ATT response until disconnection
from iphone due to timeout.
The workaround is to
resend discovery primary service before disconnection from remote device
when response timeout happen.
This workaround will be better for us to interop with remote BLE device.

bug:12895830
Change-Id: I236af8eca9790f2dae7098061c74cec55348ca6d
att/att_protocol.c
att/gatt_api.c
att/gatt_cl.c
att/gatt_int.h
att/gatt_utils.c
ac4959255ecb1f6b377ee9d1173bf06ea7a3f4dc 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix unused parameter warnings in static functions by changing prototype

Change-Id: I9cc4646610fd3d25732caac01e8d833724238749
Signed-off-by: Mike J. Chen <mjchen@google.com>
dp/sdp_discovery.c
22df1f746e3d579a516583b92c26f2fd4063ba14 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix some unused parameter warnings in static functions

Fixed by changing the prototypes of the functions and the
calling location.

Change-Id: Ic27ce9e61f5b66699b59bb14258709cb7ca733a8
Signed-off-by: Mike J. Chen <mjchen@google.com>
att/gatt_cl.c
23b252c2604a02959b31180ddafc26c1e0c8082a 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warnings about implicit declaration of bdcmp and bdcpy

Change-Id: Ib6ad46f566900d514d63a9538a6a8b1c53f04806
Signed-off-by: Mike J. Chen <mjchen@google.com>
tm/btm_acl.c
6b20f3eaef7a523334c013545d5ca3ebef9589d3 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "comparison is always true due to limited range of data type"

Change-Id: I4b195607d0cd8ee135b26065eed0eef5407061b6
Signed-off-by: Mike J. Chen <mjchen@google.com>
vrc/avrc_utils.c
dbdc69f4aed8a4eb3af31982c4722b10ee774740 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "suggest braces around empty body in an 'if' statement"

The body of an if statement could become empty if the macro body
is NULL and cause the if to apply to the next line instead.

Change-Id: I0bea6a46f29bc2c4dfc6e1fa13dd35b094310294
Signed-off-by: Mike J. Chen <mjchen@google.com>
vdt/avdt_ccb.c
vdt/avdt_scb.c
9603e2ed2ed73e1cf9a5c95df8fdfb936e835751 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "comparison is always true due to limited range of data type"

Change-Id: I1d59e67f507e676513aa006f265cca9179b7c2fe
Signed-off-by: Mike J. Chen <mjchen@google.com>
tm/btm_devctl.c
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>
tm/btm_ble_int.h
e68ffb0c2430f02c7e21ebbebdbf76a7e907350e 01-Feb-2014 Mike J. Chen <mjchen@google.com> Change argument to return ptr rather than assign to unused local

There was a warning about local variable assigned but not used.
I believe this was actually an implementation and API problem.
The function is called "btm_sec_find_bonded_dev" and returns
a BOOLEAN about whether the search succeeded or not. I believe
it should also return a pointer to the dev rec if the search
succeeded, but due to an API definition error, it was just
assigning a local rather than returning the pointer ot the rec.

Also add to btm_int.h a function prototype that was missing
and causing a warning about implicit declaration.

Change-Id: Ifcef3afe3acbe12f4c69472fcedd01b268f644dd
Signed-off-by: Mike J. Chen <mjchen@google.com>
tm/btm_int.h
tm/btm_sec.c
d6750ef014c13bbfebc88a7b6789579b919e1bec 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "comparison is always true due to limited range of data type"

Change-Id: I191b4c12ea6d4ed7a898b158d2ae26fffdeb471f
Signed-off-by: Mike J. Chen <mjchen@google.com>
nclude/avrc_defs.h
e5febfe6fdcf3d55a42e7c197b58aded4d4b2230 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warnings about implicit declarations

Two functions were used without including header file
and generating following warnings:

implicit declaration of function 'bta_sys_add_uuid'
implicit declaration of function 'bta_sys_remove_uuid'

Change-Id: I1c36fda7af9e838259b93bd2a29e3547d9df0eb5
Signed-off-by: Mike J. Chen <mjchen@google.com>
an/pan_api.c
63471e74f8e56d7daa8a5b2fda8ddbe95df33696 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "implicit declaration of function 'bdcmp'"

Change-Id: Ifc13cfa4b88d8483c58dd955ea69f482b06ec79a
Signed-off-by: Mike J. Chen <mjchen@google.com>
2cap/l2c_utils.c
790974906a99c38bf39a4bf606910848174df658 01-Feb-2014 Mike J. Chen <mjchen@google.com> Fix warning "case label value exceeds maximum value for type"

Change-Id: I1f8ef599b0d64aafe37d3422a8b43cc66ef0e6fe
Signed-off-by: Mike J. Chen <mjchen@google.com>
mp/aes.c
41eee7b7b38ad084ba0c4b4111846f2c50ef0119 31-Jan-2014 Mike J. Chen <mjchen@google.com> Fix missing initializer warning

Change-Id: I13e96a25b66a0a789d1adab9e41f2315d294943d
Signed-off-by: Mike J. Chen <mjchen@google.com>
att/gatt_main.c
045235e5ffc829829b1bdfb455f925aefd35f14a 31-Jan-2014 Sharvil Nanavati <sharvil@google.com> Fix bug in PAN code where no new PAN connections can be made.

If you call PAN_connect() followed quickly by PAN_disconnect(),
you won't be able to establish any additional PANU connections.
This happens because the connection never has a chance to make
it into PAN_STATE_CONNECTED and num_conns only gets decremented
if you disconnect in the connected state. As a result, subsequent
calls to connect will fail because the stack still believes there
to be an existing connection.

Change-Id: Id24873828ca4f517496cb19a44993d0e8e837a1e
an/pan_api.c
e6e1fc2104d559008c5e58e4758041d24960df36 16-Jan-2014 Zhihai Xu <zhihaixu@google.com> Merge "memory corruption on bluetooth stack."
7f9bcf85168b776133ebb8c7b3f2db16a1ec0f79 16-Jan-2014 Zhihai Xu <zhihaixu@google.com> memory corruption on bluetooth stack.

This memory corruption will happen if the remote BLE device name
is more than 249 bytes (the maximum attribute length our BLE support is 600.).
after we send/receive GATT remote device name service attribute.
We will copy upto 600 bytes data to a local name buffer with size of 249.
This will cause serious memory corruption on the stack memory.

bug:12570982
Change-Id: I5b2ffd5f5a16f4d80d5491e86bf18bf47e30629e
tm/btm_ble_gap.c
83d709a022e7efbfa2a328f748147142a4101f9a 15-Jan-2014 Zhihai Xu <zhihaixu@google.com> trouble syncing with fitbit and can't turn off bluetooth.

this is to work around broadcom firmware problem to handle
unsolicited command complete event for HCI_LE_Create_Connection_Cancel
and LE connection complete event with status error code (0x2)
unknown connection identifier from bluetooth controller
the workaround is to release the HCI connection to avoid out of sync
with bluetooth controller, which cause BT can't be turned off.

bug:11614046
Change-Id: Ia5c5ad0c6c9b1a4f03253cac8a7caaf21341c88c
tm/btm_ble.c
6a5cd52ec261ba9212a969785467993e343b39b9 07-Jan-2014 Zhihai Xu <zhihaixu@google.com> Merge "BLE stack doesn't handle multiple l2cap_conn_update requests"
91f80c8e36ca2140ee2e843ffac4fb99dff8290a 07-Jan-2014 Zhihai Xu <zhihaixu@google.com> Merge "Crash pairing keyboard/mouse on N5"
b6dffc12ed1dc044ee3b67026140d37f325d7306 17-Dec-2013 Zhihai Xu <zhihaixu@google.com> Crash pairing keyboard/mouse on N5

The crash is caused by read the source string out of bound.
Should limit the length to copy less than source string length.
should use the
MIN(SDP_DISC_ATTR_LEN(p_curr_attr->attr_len_type), SDP_MAX_ATTR_LEN);
as the length to copy.

bug:12166360
Change-Id: I871d7dcaa8bf73aa27e9088417b35b677924bebd
dp/sdp_api.c
eeeac99328c23304ab24698331b6600f3b545700 08-Nov-2013 Andre Eisenbach <andre@broadcom.com> LE: Add service UUIDs and data to advertising data

Add support for UUIDs and custom service data in the advertising and
scan response records.

Change-Id: I6470427ad194871488cc90f3ab384b9ecf326b15
att/gatt_api.c
15d0a0c580ba8940133b2d0977176e8e30ffe6a5 18-Dec-2013 Zhihai Xu <zhihaixu@google.com> BLE stack doesn't handle multiple l2cap_conn_update requests

we can define 4 bits as flags:
1. L2C_BLE_CONN_UPDATE_DISABLE:
if set it means disable update connection parameter. otherwise enable
2.L2C_BLE_NEW_CONN_PARAM:
if set, it means we have new connection parameter which is needed to be configured
if possible(after update done or enable).
3.L2C_BLE_UPDATE_PENDING:
if set, it means waiting for connection parameter update finished.
this flag will be cleared in btu_ble_ll_conn_param_upd_evt.
will be set when we call btsnd_hcic_ble_upd_ll_conn_params
4.L2C_BLE_NOT_DEFAULT_PARAM:
if set, it means we don't use the default connection parameter.
so when we disable update,
we need to configure default connection parameter.
with these 4 flags, we can replace all these states:
UPD_ENABLED, UPD_DISABLED, UPD_PENDING and UPD_UPDATED.
so we can cover all the corner cases which aren't handled
by original code.

bug:11450715
Change-Id: I6673d4783a8063bf9e8a213c6669800f86e67945
tu/btu_hcif.c
nclude/l2c_api.h
2cap/l2c_ble.c
2cap/l2c_int.h
5acd502368d1eb3fc445d6787a1d7d64d45d0a5c 05-Nov-2013 kschulz <k.schulz@samsung.com> RFCOMM: fix connection timeout during security setup

The RFC_T2_TIMEOUT used in rfc_mx_conf_cnf is replaced with RFCOMM_CONN_TIMEOUT,
increasing the timeout value from 20 sec to 120 sec.

Bug: 11523955
Change-Id: I992f3d20e9e4c6465850dcf1f52af0b7d39dd893
fcomm/rfc_mx_fsm.c
d8d10870261f4bbe1223282e145ecdf828b3e47a 16-Dec-2013 Zhihai Xu <zhihaixu@google.com> Merge "fixed problem with parsing GetAllCapabilitiesRsp"
2fc1a9aa23e50db07aafcff3c9f5efd509e04336 24-Sep-2013 Kim Schulz <k.schulz@samsung.com> fixed problem with parsing GetAllCapabilitiesRsp

The check for GetAllCapabilitiesRsp was not correctly parsed and hence the qualification tests TP/SIG/SMG/BI-35-C and TP/SIG/SMG/BI-36-C could not be passed.
This fixes that problem and makes it comply with the spec.

Bug: 10906942
Change-Id: I8b46c1974b4cad13d5a6641e02bf8a5f2ebc8ebd
vdt/avdt_msg.c
2a2701cdddac0859a95e58aec542742c450145b9 16-Sep-2013 Kim Schulz <k.schulz@samsung.com> Fixes for problems found with coverity analyzer

- fixed UNINITIALIZED variable (hdl) in bta_hh_act.c :220
- fixed possible RESOURCE LEAK in btif_config_util.cpp in relation to open_file_map() if file is fd size=0
- fixed possible RESOURCE LEAK in create_socket_server() in uipc:196 (s not closed)
- fixed possible OVERRUN in l2c_csm.c, (l2c_csm_config), array "l2cb.fixed_reg" of 4 20-byte elements at element index 60 (byte offset 1200) using index "p_ccb->local_cid - 3" (which evaluates to 60)
- fixed possible OVERRUN in btm_pm.c, (btm_pm_reset) array "btm_cb.acl_db" of 7 288-byte elements at element index 7 (byte offset 2016) using index "btm_cb.pm_pend_link" (which evaluates to 7).
- fixed possible OVERRUN in btif_storage.c, (btif_storage_add_device_to_autopair_blacklist) array "input_value" of 20 bytes by passing it to a function which accesses it at byte offset 20 using argument "20U".
patch set 2:
- fixed {}
Patch set 3:
- fixed review commment in stack/btm/btm_pm.c:379

bug: 10777562
Change-Id: I2a6d57f93acaaf9b25c49a6a29cb60d0e1e3c5d8
tm/btm_pm.c
2cap/l2c_csm.c
b224d3a6b57aea0120914b8fd5e483997a086f5c 11-Dec-2013 Zhihai Xu <zhihaixu@google.com> Merge "set HID major in class of device of inquiry result for HID over LE"
1237ee3c4bf3c8b65c2e83409db76669b1f1dcfd 27-Nov-2013 Zhihai Xu <zhihaixu@google.com> set HID major in class of device of inquiry result for HID over LE

need to set HID major in class of device of inquiry result for HID over LE,
if HID over LE service UUID is found in BLE advertisement data.
so we can show the HID icon in device list for HID over LE device.
16 bit UUID list in BLE advertisement data can contain multiple UUID,
need to go through the 16bit UUID list to find HID over LE service UUID.

bug:11450485
Change-Id: I7b2ee4c88485b287609eac34c35ce5e714e48280
tm/btm_ble_gap.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
ap/gap_ble.c
att/gatt_attr.c
att/gatt_auth.c
nclude/gatt_api.h
rvc/srvc_eng.c
9d6b33774054e540ff5365510faf5cfbad0dc739 06-Dec-2013 Zhihai Xu <zhihaixu@google.com> Merge "BLE Secuity manager state machine generate wrong pairing success event."
58440603564a1f43ef27b3bf738d9d6177b7b9ee 16-Nov-2013 Zhihai Xu <zhihaixu@google.com> BLE Secuity manager state machine generate wrong pairing success event.

we call smp_proc_release_delay to setup a timer.
We will send a pair failure message to uplayer after the time expired.
Right before the time expire, the l2cap connection is disconnected
from remote device, we receive L2C_DISC, which will call smp_delay_terminate,
smp_delay_terminate will send a pair success message to uplayer.
The fix is not to change the status if the remote device disconnect the link

bug:11716967
Change-Id: I8ca63599a170ec86913785aafea552301cec37df
mp/smp_act.c
28b978c9f09a8e5eff4185e20a7409c8c95d33cc 06-Dec-2013 Zhihai Xu <zhihaixu@google.com> Merge "Duplicate pair request are generated in BLE SMP."
503a55007c7fa7769e3e03cb8d7858e32dec7ba4 16-Nov-2013 Zhihai Xu <zhihaixu@google.com> Duplicate pair request are generated in BLE SMP.

SMP_SEC_REQUEST_EVT will trigger pair request for user permission.
Due to callback event isn't cleared, duplicate pare request is generated.
The fix is to clear the callback event after grant the permission for the pair request.
To avoid reporting duplicae SMP_SEC_REQUEST_EVT.

bug:11716879
Change-Id: I90805caa6f5360f8d64edfb711703e0e05863ea4
mp/smp_api.c
51d5f6393615aad6683d3d2ed0f82ed51e29aa9d 17-Nov-2013 Zhihai Xu <zhihaixu@google.com> sometime the BLE connection parameter isnot updated for the first time

When we receive the BLE connection parameter update
from remote device after smp_send_pair_req before
start BLE service discovery(bta_gattc_set_discover_st).
We will miss update this BLE connection parameter.
The reason is we call
L2CA_EnableUpdateBleConnParams(p_cb->pairing_bda, FALSE);
in smp_send_pair_req ,We change the state to UPD_DISABLED.

When we receive the new BLE connection parameter from
remote device, we will update the state to UPD_PENDING,
which will update the new connection parameter
when enable the connection parameter update.

when we start BLE service discovery
we call L2CA_EnableUpdateBleConnParams(p_srcb->server_bda, FALSE);
in bta_gattc_set_discover_st, We will update the state back to
UPD_DISABLED, which will cause we miss updating
the new connection parameter when enable the connection parameter update.

The fix is don't change the state to UPD_DISABLED
when the state is UPD_PENDING for disabling.

bug:11727252
Change-Id: I953b9ca669e3460e18b340e7779cc54e03d6305b
2cap/l2c_ble.c
0f1f494bb816390a1be587601a3abf8eb2826c4b 30-Sep-2013 Kim Schulz <k.schulz@samsung.com> Copy paste error in HDP source/sink check

- fixed copy paste error in sdp_api.c

Bug: 10998127
Change-Id: Icffdf04630777badf76ed46a3e203000df6ecc9f
dp/sdp_api.c
dbba0e652e0ce23dd691df3c03979ec6e32c8db3 08-Nov-2013 Matthew Xie <mattx@google.com> Replace Broadcom proprietary license header with apache 2 header

bug 11591406

Change-Id: Ibb9c6b3865e6d757236f1c5896775bb6f28e47be
nclude/srvc_api.h
rvc/srvc_battery.c
rvc/srvc_battery_int.h
rvc/srvc_dis.c
rvc/srvc_dis_int.h
rvc/srvc_eng.c
rvc/srvc_eng_int.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
tm/btm_ble.c
51822b4229e4519a8e07838f52f858472ea36961 07-Aug-2013 Sunny Kapdi <sunnyk@codeaurora.org> Fixes random host disconnection after establishing connection

Host starts encryption twice when the remote device is
already paired. The host sends disconnect when the
second encryption attempt returns failure. This fix
avoids duplicate encryption attempt.

bug:11450719
Change-Id: I8ec5c4a953180ec17585aece757810421bc44aae
tm/btm_ble.c
2003ec03dbf7c82cdb655fa64746397a1e775cc0 03-Nov-2013 Zhihai Xu <zhihaixu@google.com> Merge "A typo to set wrong max connection interval value when we create a BLE connection." into klp-dev
cd9ceb9f48d633b68570e5f70768475c8fe93af1 02-Nov-2013 Zhihai Xu <zhihaixu@google.com> Merge "Unable to connect to a Motorola s705 until Bluetooth was toggled of and back on" into klp-dev
3dc5945f1d62f9d30c7fcd4b1fe4077a3ba2f605 26-Oct-2013 Zhihai Xu <zhihaixu@google.com> A typo to set wrong max connection interval value when we create a BLE connection.

when we set the max connection interval value,
we should use BTM_BLE_CONN_INT_MAX_DEF instead of BTM_BLE_CONN_INT_MIN
bug:11390678

Change-Id: Ia3f6d5e9cb91b2e998d014ed4849eff8455af770
2cap/l2c_ble.c
7a5c5910c1df73ab86e57d18c4e6e35a623d98ce 14-Aug-2013 Sunny Kapdi <sunnyk@codeaurora.org> Fixes BLE HCI commands concurrency issue

Removes HCI LE Read Remote features command call
to prevent the concurrency between this command and
HCI LE start encryption command.

CRs-fixed: 517330

bug:11450568
Change-Id: I6445ab8095a4261c2a3f84acea1c546e6924f50d
Signed-off-by: Sunny Kapdi <sunnyk@codeaurora.org>
tm/btm_acl.c
41e761b106b50eb6bf08ae6a027bf27486b571cc 29-Oct-2013 Matthew Xie <mattx@google.com> Merge "Treat devices advertising random addr. as LE only" into klp-dev
bf68ac75380057ad7b23669c0443ca585b84ccc3 26-Oct-2013 Andre Eisenbach <andre@broadcom.com> Treat devices advertising random addr. as LE only

Some remote devices use random addresses, but are not setting the
"BR/EDR not supported" flag. Thus we try to connect to the device using
BR/EDR.

This patch ignores the ADV flags if the device is using a random
address and always makes the connection over the LE transport.

bug 11418071
Change-Id: I628775b819abd8f17745aaf98db4bb3c59166955
tm/btm_ble_gap.c
0c2e29d5ae7cfd154c790703886d361708b02bbc 17-Oct-2013 Zhihai Xu <zhihaixu@google.com> BTU SIGSEGV on RFCOMM connect to Linux bluetooth dongle

fix a typo which cause the crash.

bug:11260131
Change-Id: I1cbe9f4d20be39f3ca13577687ac92b88b06e366
dp/sdp_api.c
a934f018b6c6a7eda4662a60f2f04828afc3ab77 08-Oct-2013 Zhihai Xu <zhihaixu@google.com> Unable to connect to a Motorola s705 until Bluetooth was toggled of and back on

we should use the same role as the previous connection, if phone walk out of range,
and reconnect back from remote device.
bug:10648781

Change-Id: I6abd77067d26769067ba2fbd45d9e8f75cf7c764
tm/btm_acl.c
tm/btm_int.h
tm/btm_main.c
2cap/l2c_int.h
2cap/l2c_link.c
2cap/l2c_utils.c
6b728e412c22549ef51c19315ccf9ab3b7e16885 10-Oct-2013 Matthew Xie <mattx@google.com> Merge "Interleave br/edr device discovery with BLE device scan for some targets" into klp-dev
7f3e42943b834ff0f556cd5c063a896f54d53167 30-Sep-2013 Matthew Xie <mattx@google.com> Interleave br/edr device discovery with BLE device scan for some targets

This change only applies to targets which do not support interleaved scan
in controller.
bug 8508849

Change-Id: Ia99faf92c942b4b33abfde2708eff25ec9cd5468
tm/btm_inq.c
tm/btm_int.h
nclude/btm_api.h
ccf9c15f52eea21858d994601d71308e84c7c859 03-Oct-2013 Andre Eisenbach <andre@broadcom.com> LE: Improved handling of illegal GATT PDUs

Do additional length checks when handling malformed messages. These
messages are never valid, and should be dropped if seen.

Before starting to parse out PDU content, it is verified that the
buffer contains sufficient bytes and error condition is returned
if this is not the case.

Bug: 11045073
Change-Id: Ifb792d1575e0514f33e75ed73247ea638807901e
att/gatt_cl.c
att/gatt_sr.c
b99a066312de58711e9cf7e133338a97571c0be6 14-Sep-2013 Matthew Xie <mattx@google.com> Merge "Added lock in btu_xxx_timer api" into klp-dev
c16715fe1f36984dd3d8e78a4662806a8473b0bc 07-Sep-2013 zzy <zhenye@broadcom.com> Added lock in btu_xxx_timer api

Bug 10539101: Native crash in com.android.bluetooth while running monkey
tu/btu_task.c
fa825ad1ad772e87e60f360c35a9b0fa20dccb4e 13-Sep-2013 Zhihai Xu <zhihaixu@google.com> Merge "change AVRCP profile version from 1.4 to 1.3 in SDP record." into klp-dev
156969e0d4d7dab2251c3630fcce59ba194ce2f7 13-Sep-2013 Zhihai Xu <zhihaixu@google.com> change AVRCP profile version from 1.4 to 1.3 in SDP record.

bug:10728403
Change-Id: I741c8741173088bc91f43fbbcda8c0bd13a7d84d
vrc/avrc_sdp.c
1e5109b5cbf49810abd0c94c413ce07db52caaca 10-Nov-2012 Matthew Xie <mattx@google.com> Use product model as default bluetooth name if not defined

bug 7441329

Change-Id: I6afe54a8a0c4d1120e96eb808cf9fc4bf5b37fdb
tm/btm_devctl.c
247c68fe6eee3660cbdcf4509195fe735ae25573 01-Aug-2013 Satya Calloji <satyac@broadcom.com> Add support for AbsoluteVolume

Add support for AbsoluteVolume in BTIF
bug 9595622

Change-Id: I11b707f6ab50d31bd11e879b0ebe5ad5bac54ad9

Conflicts:
btif/src/btif_rc.c
ndroid.mk
vrc/avrc_api.c
vrc/avrc_bld_ct.c
vrc/avrc_pars_ct.c
vrc/avrc_pars_tg.c
vrc/avrc_sdp.c
2e7fa68bfd9723b7ec7b6b0b128d89f31a2e06ee 09-Aug-2013 Andre Eisenbach <andre@broadcom.com> LE: Add support for the HID-over-GATT profile (1/3)

bug:8330048
Change-Id: I5727161b0a87700487bee96cdffa8fd169034204
ndroid.mk
id/hidh_api.c
id/hidh_conn.c
nclude/btm_api.h
nclude/gattdefs.h
nclude/hiddefs.h
nclude/hidh_api.h
nclude/srvc_api.h
rvc/srvc_battery.c
rvc/srvc_battery_int.h
rvc/srvc_dis.c
rvc/srvc_dis_int.h
rvc/srvc_eng.c
rvc/srvc_eng_int.h
40016adf0e4bab95760f4fb86e159017b7f94498 22-Jul-2013 Andre Eisenbach <andre@broadcom.com> LE: Do not generate an error if a device is already whitelisted

If a device is added to the whitelist that is already listed, no error
should be generated.

Change-Id: I81ad47eec47157d5ab2b5b25db3ed15bf873794e
att/gatt_utils.c
0d3786ea4f86a0ad48791eea6774b88910d47f21 23-Jul-2013 Andre Eisenbach <andre@broadcom.com> LE: Memory leak when caching GATT service change

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
att/gatt_main.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
tm/btm_ble.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_inq.c
tm/btm_sec.c
ap/gap_ble.c
att/gatt_api.c
att/gatt_auth.c
att/gatt_cl.c
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
nclude/btm_ble_api.h
nclude/gatt_api.h
2cap/l2c_ble.c
mp/smp_act.c
mp/smp_int.h
mp/smp_main.c
ad839868b5aed781ba54af620e439e5c96ee019a 24-Jun-2013 Andre Eisenbach <andre@broadcom.com> LE: Fix crash on LE mouse reconnect

Sometimes, a GKI exception may be observed when re-connecting to an LE
mouse. This patch properly handles the encryption state change, avoiding
a possible race condition leading to the exception.

Change-Id: I4cf139c1ac22e71b598272fccebf645cd73fdf6a
tu/btu_hcif.c
4b63869f02e5860244fcc7f2f62e818ee702a74b 14-Jun-2013 Andre Eisenbach <andre@broadcom.com> LE: Limit minimum MTU size

Check requested MTU sizes to ensure a minimum MTU size. Otherwise remote
devices may request an MTU that's too small, preventing any further
communication with the remote device.

Change-Id: I3ba97cf6e6c464825778a8c8902f99f6662c3762
att/gatt_sr.c
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
tm/btm_ble.c
tm/btm_ble_int.h
att/gatt_auth.c
nclude/btm_ble_api.h
e1202caae4920139ea0cfed5c51f5f76b2dc8bc4 15-May-2013 Andre Eisenbach <andre@broadcom.com> LE: Add GATT disable functions

This patch adds required disable functions to the GATT sub-system to
properly unregister with the stack. Without the disable functions in
place, turning Bluetooth off with a GATT device connected may lead to
unexpected behaviour and cause GATT to fail on sub-sequent stack
restarts.

Change-Id: I7cb80e96109e2c09882991298d0487b506f5ffdd
att/gatt_api.c
att/gatt_utils.c
181adbef76c194e257639daecb486bfc9a0ad037 10-Aug-2013 zzy <zhenye@broadcom.com> Fixed issue that failed to update rfc credit to peer when host can not handle the incoming packets fast enough

Bug 10233699: Bluetooth sockets block indefinitely on read(...)
fcomm/port_api.c
5a7f857d3f4ac5d1282bc32b8119dcc5b5ea39a7 05-Aug-2013 Andre Eisenbach <andre@broadcom.com> Support for 128-bit UUID service discovery

Support the discovery of custom 128-bit UUIDs. This is mainly needed for
GATT service discovery to find custom services.

Bug: 10116729
Change-Id: I8669111dfb8806f5632b7ea8ad02f0e38dded66f
dp/sdp_api.c
98657a365c7230b84a005c63ce5bcf036d69f6eb 26-Jun-2013 Andre Eisenbach <andre@broadcom.com> LE: Release transmit buffer credits

When an ACL link goes down, some controllers do not send a "number of
completed packets" update for the last ACL packets sent from the host to
the controller. This could result in incorrect L2CAP transmit window
calculations and no transmit credit to be available to send data to the
controller.
This patch restores transmit buffer creedits regardless of the
controller behaviour.
bug 9474159

Change-Id: I2540131034271a0269fa50698f370bceb7747e2d
2cap/l2c_utils.c
5ae72cf049004ac3c0f2f2bc048d1638a3b13d55 16-May-2013 Zhihai Xu <zhihaixu@google.com> Media profile drop on ending the outgoing video call and music is heard locally

receive AVDTP_Suspend response rejection which cause the A2DP disocnnected.
There is collision of AVDTP_Suspend request:
We send AVDTP_Suspend request and the headset send AVDTP_Suspend request also at the same time.
then We send AVDTP_Suspend response, but the headset send AVDTP_Suspend response rejection
with error code bad state after it receive the AVDTP_Suspend response from us.
we call bta_av_suspend_cfm twice in this case:
the first time we will call bta_av_suspend_cfm without error after receive AVDTP_Suspend request from headset.
the second time we will call bta_av_suspend_cfm with error bad state after receive AVDTP_Suspend response rejection from headset.
To fix this problem, we should ignore the AVDTP_Suspend response rejection from headset
after receive AVDTP_Suspend request from headset.
After we receive AVDTP_Suspend request from headset, the scb state will be changed to AVDT_SCB_OPEN_ST from AVDT_SCB_STREAM_ST.
but when we receive AVDTP_Suspend response rejection from headset, we should ignore it when we are in AVDT_SCB_OPEN_ST.
and also currently we already ignore AVDTP_Suspend response when we are in AVDT_SCB_OPEN_ST,
I don't know why we didn't do it for AVDTP Suspend rejection.

issue 8735903

Change-Id: I8db3ea6e7e4edfea41f255e7e29b8c7255cf3d96
vdt/avdt_scb.c
48ebe2c6928d8fd4dc97c8adb138c3440714dc89 24-Apr-2013 YK Jeffrey Chao <jechao@broadcom.com> Preload timeout and retry mechanism (1/3)

If the Preload process was stuck due to unknown hardware init failure,
a 8-second ENABLE_TIMEOUT timeout would be eventually expired in Java layer
at AdapterState and attempted to set BT state back to STATE_OFF.
However BluetoothManagerService did not handle this case accordingly and led
to state mis-matching between Java layer and BTIF at the end.

Add a timeout and retry mechanism to manage Preload process.
Clean up native space resource and explicitly report STATE_OFF back to Java
space when Preload did not go through.

bug 7566317

Change-Id: I99a225e524f2b951249618990a2d0a8a39b43ff3
tu/btu_task.c
nclude/bt_types.h
ebef4763b36b05370d13dfd27c4fcaa9095dbeff 14-May-2013 zzy <zhenye@broadcom.com> Added available size check to fix zero byte data available issue

Bug 8950703
rfcomm connection failed in case zero byte data available
fcomm/port_api.c
fc4b2f1953dbe60464d0f5ef7daaa10001fbc62f 07-May-2013 Matthew Xie <mattx@google.com> Solve compilation problem when BLE/GATT/SMP features are false

bug 8664724
Change-Id: I582846ccf4b8995f298d8db533488fceb7993ae3
tm/btm_ble.c
tm/btm_devctl.c
b05c0190b55369618c968b27ea406f9660bfa4ed 30-Apr-2013 Matthew Xie <mattx@google.com> Merge "LE: Fix shared ACL buffer allocation" into jb-mr2-dev
2d41fe1c5dbac701a074eec272545439168930a7 17-Apr-2013 Andre Eisenbach <andre@broadcom.com> LE: Disable L2CAP connection parameter update during pairing

Some peripherals change the connection parameters during the pairing
procedure. Ideally when service discovery is started, connection
parameters are reset to default values. In instances where the
connection update fails, service discovery takes a very long time and
may result in a GATT application not receiving a connection status
update.
Disabling connection paramter update during service discovery ensures
a quick service discovery and improves interoperability.

Bug: 8714594
Change-Id: I2177e57bf250b99e314a1b020cd0fadbd480214e
mp/smp_act.c
12c3f496c3612472a22cbb0afd89812b154b4186 25-Apr-2013 Andre Eisenbach <andre@broadcom.com> LE: Fix shared ACL buffer allocation

Allocate a static amount of LE buffers for chipsets that do not provide
separate ACL buffers for LE and BR/EDR.

Bug: 8714387
Change-Id: I74e954c0824ddfd89b50c14f6848db787f9b9bff
2cap/l2c_ble.c
c9053e64bd3383ea971582b4395fab9d5d614503 16-Apr-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Proper management of controller ACL buffers.

Reclaim all the unacknowledged controller ACL buffers associated
with a L2CAP link when L2CAP control block is released.
Bug:8589069

Change-Id: Icef1646041e73280a13dedc7a45564d032c59712
2cap/l2c_link.c
2cap/l2c_utils.c
24c0f58c67c569e92e7b7d46e2d0cd29ebb64eb7 17-Apr-2013 Zhihai Xu <zhihaixu@google.com> Audio glitches while playing songs over MOTO S305 headset

The MOTO S305 doesn't support read remote extended features command.
The fix is we should always use ReadRemoteSupportedFeaturesCommand at first,
Only send ReadRemoteExtendedFeaturesCommand if extend features are supported
by remote device.

issue 8618753

Change-Id: Id6d9c0e712dc892bcfca20336d1290b9443213ac
tm/btm_acl.c
9d140a9dc432e457a0437920d5f84c22e3baea0d 12-Apr-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Make host side of Read Local/Remote Extended Features more reliable

Issue Ext feature request only if the local controller supports
the command. Fall back to read remote feature command,
if the extended feature request fails
Bug:8591628

Change-Id: I744d9845c04b30d2dca1fd491fea49616adbb2d7
tm/btm_acl.c
tm/btm_devctl.c
tm/btm_int.h
tu/btu_hcif.c
nclude/btm_api.h
c2bb2c13030b2b48b861eac31f4eb134975fa8c5 09-Apr-2013 Matthew Xie <mattx@google.com> Read the extended feature after ACL channel creation

This problem was introduced by Bluetooth stack merge.
bug 8521185

Change-Id: I9191c639e96382a452cf0fe336d5a9ef5b5f0f4a
tm/btm_acl.c
7ffe8967a9774280b88655e28bda2206dc75af34 05-Apr-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Proper handling of HCI command status event

Loop through pending command Queue to find a match for
command status evt opcode
Bug:8186156

Change-Id: Ic95ed3834695fb84a8c0617ec601896f044b0f3c
tu/btu_hcif.c
946c681e59451164b343b7ab9415aa73b0d176bc 04-Apr-2013 Andre Eisenbach <andre@broadcom.com> Fix LE background connections not adding device to white-list.

Also changed maximum number of client applications to 32.

Change-Id: Id4697924b211330e231b36d7f89ca9d89b54117f
tm/btm_ble_gap.c
0082e027d5ae3f45a3a613ed720c31e35f61d0eb 03-Apr-2013 Andre Eisenbach <andre@broadcom.com> Fix LE buffer size for 0 length buffers

If the local chip reports 0 LE data buffers and 0 LE ACL data package
length, then the default ACL buffer length as returned byt the
Read_Buffer_Size command is to be used instead.

Change-Id: I953fabe426a98cc1b005d3b46c3e7f227c23a686
tm/btm_devctl.c
2cap/l2c_ble.c
3aa60544585b5fb0f35c1165539a4a859fc0f25c 23-Mar-2013 Andre Eisenbach <andre@broadcom.com> Parse LMP features to enable LE support

Only send LE commands if the local Bluetooth radio supports LE.
Improved remote feature parsing by reading extended features. Before
this change, only the first page of the features was parsed.
bug 8332905

Change-Id: I0b90771dcfc453efea157f463b9df006e0178609
tm/btm_acl.c
tm/btm_ble_gap.c
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_int.h
tm/btm_sco.c
tm/btm_sec.c
tu/btu_hcif.c
nclude/btm_api.h
nclude/hcidefs.h
2cap/l2c_utils.c
1f9a190b457f6a0e8effd47998014cb724fdb085 21-Mar-2013 Zhihai Xu <zhihaixu@google.com> Merge "Initial version of Stack for AVRCP 1.3" into jb-mr2-dev
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
ndroid.mk
vrc/avrc_api.c
vrc/avrc_bld_tg.c
vrc/avrc_int.h
vrc/avrc_opt.c
vrc/avrc_pars_tg.c
vrc/avrc_sdp.c
vrc/avrc_utils.c
ca22ac493ab777199084d87b3c7627e7f27555af 13-Feb-2013 Andre Eisenbach <andre@broadcom.com> LE fixes

- Null pointer exception check added.

An exception occurs at the memcpy in the bta_dm_gatt_disc_result.
User removed the battery on Ble device(Smart Nudge) during bonding
and connection. This exception occurs sometimes.
I used Broadcom LE Explorer to reproduce it.

- Fixed disconnect and encryption behaviour

Disconnect will now disconnect the physical link immediately when no
other application is interested in the device anymore. Also, the
connection to a remote device is now dropped if encryption fails.

- Deep copy buffers when transfering context

Certain BTA server 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.

- 2nd encryption has not started

need to send encryption complete callback
when the encryption fail due to link drop without a complete event.
Otherwise BTA layer would not be able to clean up the status,
and no further encryption can be started.

Change-Id: If93e0a188e8779830c8991e4193b96dc95e23e5d
tm/btm_ble.c
tm/btm_sec.c
2cap/l2c_api.c
ead3cde4bac0c3e32cd31f149093f004eef8ceeb 06-Feb-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Initial version of BLE support for Bluedroid

Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
ndroid.mk
vdt/avdt_api.c
vdt/avdt_ccb_act.c
vdt/avdt_int.h
vdt/avdt_scb_act.c
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_int.h
tm/btm_sco.c
tm/btm_sec.c
tu/btu_hcif.c
tu/btu_task.c
ap/gap_api.c
ap/gap_ble.c
ap/gap_conn.c
ap/gap_int.h
ap/gap_utils.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_auth.c
att/gatt_cl.c
att/gatt_db.c
att/gatt_int.h
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
cic/hciblecmds.c
cic/hcicmds.c
id/hidh_api.c
id/hidh_conn.c
nclude/avdt_api.h
nclude/avrc_api.h
nclude/bt_types.h
nclude/btm_api.h
nclude/btm_ble_api.h
nclude/btu.h
nclude/gap_api.h
nclude/gatt_api.h
nclude/gattdefs.h
nclude/hcidefs.h
nclude/hcimsgs.h
nclude/l2c_api.h
nclude/profiles_api.h
nclude/sdpdefs.h
nclude/smp_api.h
2cap/l2c_ble.c
2cap/l2c_fcr.c
2cap/l2c_int.h
2cap/l2c_link.c
2cap/l2c_main.c
2cap/l2c_utils.c
cap/mca_int.h
cap/mca_l2c.c
cap/mca_main.c
dp/sdp_db.c
dp/sdp_server.c
dp/sdp_utils.c
mp/aes.c
mp/aes.h
mp/smp_act.c
mp/smp_int.h
mp/smp_keys.c
mp/smp_l2c.c
mp/smp_main.c
mp/smp_utils.c
9ac641d0a674333af57b85b367e64cf94dfae291 16-Jan-2013 Matthew Xie <mattx@google.com> fixed rfc resouce leaking and multi-session issue

also added more debug messages
bug 7486080

Change-Id: Ic21e9d2df5f651b51ea2126a3cac25811808dcfb
nclude/port_api.h
fcomm/port_api.c
fcomm/port_rfc.c
fcomm/port_utils.c
fcomm/rfc_utils.c
689d66b6559dcb3a0ad7f6cc33b6129e50910253 13-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot 9fd57cbacd95e89602f430244c35bbc67f08b6d2

Change-Id: Ibc3a4bf4161d286c7cfab89a19c676eb5cc9224f
ndroid.mk
tu/btu_hcif.c
fcomm/port_utils.c
dp/sdp_db.c
mp/aes.c
mp/aes.h
5738f83aeb59361a0a2eda2460113f6dc9194271 13-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879baf

Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d
ndroid.mk
2dp/a2d_api.c
2dp/a2d_int.h
2dp/a2d_sbc.c
vct/avct_api.c
vct/avct_ccb.c
vct/avct_defs.h
vct/avct_int.h
vct/avct_l2c.c
vct/avct_lcb.c
vct/avct_lcb_act.c
vdt/avdt_ad.c
vdt/avdt_api.c
vdt/avdt_ccb.c
vdt/avdt_ccb_act.c
vdt/avdt_defs.h
vdt/avdt_int.h
vdt/avdt_l2c.c
vdt/avdt_msg.c
vdt/avdt_scb.c
vdt/avdt_scb_act.c
vrc/avrc_api.c
vrc/avrc_int.h
vrc/avrc_opt.c
vrc/avrc_sdp.c
nep/bnep_api.c
nep/bnep_int.h
nep/bnep_main.c
nep/bnep_utils.c
tm/btm_acl.c
tm/btm_ble.c
tm/btm_ble_addr.c
tm/btm_ble_bgconn.c
tm/btm_ble_gap.c
tm/btm_ble_int.h
tm/btm_dev.c
tm/btm_devctl.c
tm/btm_inq.c
tm/btm_int.h
tm/btm_main.c
tm/btm_pm.c
tm/btm_sco.c
tm/btm_sec.c
tu/btu_hcif.c
tu/btu_init.c
tu/btu_task.c
att/att_protocol.c
att/gatt_api.c
att/gatt_attr.c
att/gatt_auth.c
att/gatt_cl.c
att/gatt_db.c
att/gatt_int.h
att/gatt_main.c
att/gatt_sr.c
att/gatt_utils.c
cic/hciblecmds.c
cic/hcicmds.c
id/hid_conn.h
id/hidh_api.c
id/hidh_conn.c
id/hidh_int.h
nclude/a2d_api.h
nclude/a2d_sbc.h
nclude/avct_api.h
nclude/avdt_api.h
nclude/avdtc_api.h
nclude/avrc_api.h
nclude/avrc_defs.h
nclude/bnep_api.h
nclude/bt_types.h
nclude/btm_api.h
nclude/btm_ble_api.h
nclude/btu.h
nclude/dyn_mem.h
nclude/gatt_api.h
nclude/gattdefs.h
nclude/goep_fs.h
nclude/hcidefs.h
nclude/hcimsgs.h
nclude/hiddefs.h
nclude/hidh_api.h
nclude/l2c_api.h
nclude/l2cdefs.h
nclude/mca_api.h
nclude/mca_defs.h
nclude/obx_api.h
nclude/pan_api.h
nclude/port_api.h
nclude/port_ext.h
nclude/rfcdefs.h
nclude/sdp_api.h
nclude/sdpdefs.h
nclude/smp_api.h
nclude/uipc_msg.h
nclude/utfc.h
nclude/wbt_api.h
nclude/wcassert.h
2cap/l2c_api.c
2cap/l2c_ble.c
2cap/l2c_csm.c
2cap/l2c_fcr.c
2cap/l2c_int.h
2cap/l2c_link.c
2cap/l2c_main.c
2cap/l2c_ucd.c
2cap/l2c_utils.c
cap/mca_api.c
cap/mca_cact.c
cap/mca_csm.c
cap/mca_dact.c
cap/mca_dsm.c
cap/mca_int.h
cap/mca_l2c.c
cap/mca_main.c
an/pan_api.c
an/pan_int.h
an/pan_main.c
an/pan_utils.c
fcomm/port_api.c
fcomm/port_int.h
fcomm/port_rfc.c
fcomm/port_utils.c
fcomm/rfc_int.h
fcomm/rfc_l2cap_if.c
fcomm/rfc_mx_fsm.c
fcomm/rfc_port_fsm.c
fcomm/rfc_port_if.c
fcomm/rfc_ts_frames.c
fcomm/rfc_utils.c
dp/sdp_api.c
dp/sdp_db.c
dp/sdp_discovery.c
dp/sdp_main.c
dp/sdp_server.c
dp/sdp_utils.c
dp/sdpint.h
mp/aes.c
mp/aes.h
mp/smp_act.c
mp/smp_api.c
mp/smp_cmac.c
mp/smp_int.h
mp/smp_keys.c
mp/smp_l2c.c
mp/smp_main.c
mp/smp_utils.c