OSDN Git Service

android-x86/system-bt.git
7 years agoMerge "Fix AdvertiseDataParsing test"
root [Tue, 1 Nov 2016 01:53:33 +0000 (01:53 +0000)]
Merge "Fix AdvertiseDataParsing test"
am: 6f9710e6cd

Change-Id: Ib31f2c942a47a95fe2a4a8ca0ad88b1659c2b87e

7 years agoMerge "Fix AdvertiseDataParsing test"
Treehugger Robot [Tue, 1 Nov 2016 01:43:29 +0000 (01:43 +0000)]
Merge "Fix AdvertiseDataParsing test"

7 years ago[AVRCP1.6 CT] Add reply status to get_folder_items_callback.
Sanket Agarwal [Tue, 1 Nov 2016 00:46:28 +0000 (00:46 +0000)]
[AVRCP1.6 CT] Add reply status to get_folder_items_callback.
am: 8a81119351

Change-Id: I36cf971bd41103a948470e042a313eb80ba8550a

7 years agoAVRCP_CTRL: Broadcast 1.6 with browsing support
AnubhavGupta [Tue, 1 Nov 2016 00:46:26 +0000 (00:46 +0000)]
AVRCP_CTRL: Broadcast 1.6 with browsing support
am: 0bd5b0ad1a

Change-Id: I37f08580a3c5cc0b5199d85b657cef0a31b0d29a

7 years ago[AVRCP1.6 CT] Add reply status to get_folder_items_callback.
Sanket Agarwal [Mon, 29 Aug 2016 17:28:03 +0000 (10:28 -0700)]
[AVRCP1.6 CT] Add reply status to get_folder_items_callback.

It is useful to know what error code the get_folder_items_cmd gets back
with since it can help the UI decide if to keep fetching more. For ex.
if the return code is out of range then the UI does not need to keep
fetching anymore. This is useful for folders where we do not know the
size before hand (Media Player List or Now Playing List).

Bug: b/31253501

Change-Id: I0f43167d00bcf2e1e320be086fd9cacd163906a1
(cherry picked from commit e3a032a89ac2f20e96808fe2bded2c42fa3afb14)

7 years agoAVRCP_CTRL: Broadcast 1.6 with browsing support
AnubhavGupta [Wed, 24 Aug 2016 09:06:23 +0000 (14:36 +0530)]
AVRCP_CTRL: Broadcast 1.6 with browsing support

 - enable browsing bit for SDP record and bump the profile version

Bug: b/28791287

Change-Id: I0572b84d36a52c5f027196022f342057c607b93b

7 years agoMerge "hci: Fix multi-line comments after clang-format"
Myles Watson [Mon, 31 Oct 2016 23:11:48 +0000 (23:11 +0000)]
Merge "hci: Fix multi-line comments after clang-format"
am: 42bff25876

Change-Id: Ie455991f80cc0e5ad4f484ba06740bb0c7bf99e9

7 years agoMerge "hci: Fix multi-line comments after clang-format"
Treehugger Robot [Mon, 31 Oct 2016 23:02:56 +0000 (23:02 +0000)]
Merge "hci: Fix multi-line comments after clang-format"

7 years agoMerge "test: Add a README file"
Myles Watson [Mon, 31 Oct 2016 21:20:01 +0000 (21:20 +0000)]
Merge "test: Add a README file"
am: 975178d90e

Change-Id: I9975e726bbe65702ec4dd12ddca367ab7da3a421

7 years agohci: Apply clang-format
Myles Watson [Mon, 31 Oct 2016 21:19:47 +0000 (21:19 +0000)]
hci: Apply clang-format
am: 5ff20a2366

Change-Id: I3dadec14f5df2159d1d2d9944b005cbf2047940a

7 years agoMerge "test: Add a README file"
Treehugger Robot [Mon, 31 Oct 2016 21:10:40 +0000 (21:10 +0000)]
Merge "test: Add a README file"

7 years agohci: Fix multi-line comments after clang-format
Myles Watson [Mon, 31 Oct 2016 20:50:51 +0000 (13:50 -0700)]
hci: Fix multi-line comments after clang-format

Test: mma -j32
Change-Id: I041856c2a9f17948650387dd9c952365bcca033d

7 years agohci: Apply clang-format
Myles Watson [Mon, 31 Oct 2016 17:53:52 +0000 (10:53 -0700)]
hci: Apply clang-format

Remove double asterisks:
  cd hci/
  find . | grep "\.cc\|\.h\|\.c" | \
     xargs -I REPLACE sed 's/^[*][*]/ \*/' -i REPLACE

Run clang-format:
  find . | grep "\.cc\|\.h\|\.c" | xargs -I REPLACE \
     clang-format --style=file -i REPLACE

Test: mma -j32
Change-Id: Ie74244127c8a264dd087d199155274d4655ccf65

7 years agoFix AdvertiseDataParsing test
root [Mon, 31 Oct 2016 20:37:33 +0000 (13:37 -0700)]
Fix AdvertiseDataParsing test

Test: run LowEnergyAdvertiserPostRegisterTest.AdvertiseDataParsing
Change-Id: Ib9f4dbc1079ae289cc5eeaee9ca7050d308a4ab0

7 years agobt address memory copy error in btif_av_state_opening_handler()
Ting Zheng [Mon, 31 Oct 2016 18:04:29 +0000 (18:04 +0000)]
bt address memory copy error in btif_av_state_opening_handler()
am: 98397944b8

Change-Id: Ic498d4c573c4733cd9310c1038f5589f2fa09def

7 years agobt address memory copy error in btif_av_state_opening_handler()
Ting Zheng [Tue, 19 Jul 2016 22:29:19 +0000 (15:29 -0700)]
bt address memory copy error in btif_av_state_opening_handler()

[Problem]
In btif_av_state_opening_handler() BTIF_AV_CONNECT_REQ_EVT
handling, it reported the wrong bt address. It happened when remote speaker
connected back and local also tried to initiate the connection almost at the
same time, so that A2dpStateMachine recognized mTargetDevice and mIncomingDevice
as two different deivices. When it was final connected, A2dpStateMachine ignored
the connected event as "ERROR: current, target, or mIncomingDevice not null in
Disconnected".

[Solution]
Modify (bt_bdaddr_t*)p_data to ((btif_av_connect_req_t *)p_data)->target_bda in
btif_av_state_opening_handler() BTIF_AV_CONNECT_REQ_EVT handling. In previous
design, it would copy the address of target_bda and uuid in
btif_av_connect_req_t rather than the real address pointed by target_bda.

Change-Id: Icbc5150016d6f75aa314b5d9e152a2de74f0cfbe
Signed-off-by: Ting Zheng <ting.zheng@mediatek.com>
7 years agoRemove position dependent lookup tables in AT command parser
Andre Eisenbach [Mon, 31 Oct 2016 17:52:41 +0000 (17:52 +0000)]
Remove position dependent lookup tables in AT command parser
am: b7fa415540

Change-Id: I38bcdbec9a854700d6920b8598dfa67202ba657f

7 years agoRemove position dependent lookup tables in AT command parser
Andre Eisenbach [Sat, 23 Jul 2016 06:15:11 +0000 (23:15 -0700)]
Remove position dependent lookup tables in AT command parser

The various position dependent lookup tables in the AT command parser
were out of sync, causing invalid responses to the AT+CBPS command for
example.

This patch gets rid of positionally dependent enums for simple lookup
tables that correlate all the values for easier, less error prone
maintenance of the related tables.

This re-instates a previously reverted patch after fixing incorrect
field order in tBTA_AG_INDICATOR_MAP.

Change-Id: I7f8a052e78706c8c72c5102b38cfe9ce200ae0d9
Fixes: 29978908
(cherry picked from commit b5cc24fcdaeb32f1f44bc39b65f6b0c035e47d5f)

7 years agoMerge "Remove advertise whitelist functionality"
Jakub Pawlowski [Sat, 29 Oct 2016 00:34:50 +0000 (00:34 +0000)]
Merge "Remove advertise whitelist functionality"
am: 4584c3ae8a

Change-Id: I8e6dbdcef503156fc2c5f3963fa50a7debab5a9f

7 years agoMerge "Remove advertise whitelist functionality"
Jakub Pawlowski [Sat, 29 Oct 2016 00:29:49 +0000 (00:29 +0000)]
Merge "Remove advertise whitelist functionality"

7 years agoMerge "Exclude calls to android-specific code in generic build"
Jakub Pawlowski [Fri, 28 Oct 2016 23:16:15 +0000 (23:16 +0000)]
Merge "Exclude calls to android-specific code in generic build"
am: 89e452beec

Change-Id: I96709865bd7cfd09c775a70c30420f838f84e045

7 years agoMerge "Exclude calls to android-specific code in generic build"
Jakub Pawlowski [Fri, 28 Oct 2016 23:08:54 +0000 (23:08 +0000)]
Merge "Exclude calls to android-specific code in generic build"

7 years agoRemove advertise whitelist functionality
Jakub Pawlowski [Fri, 28 Oct 2016 22:23:08 +0000 (15:23 -0700)]
Remove advertise whitelist functionality

Advertise filtering is never used. It is not finished - adding device to
whitelist can never succed. It is also making advertising API unification
hard.

Bug: 30622771
Test: no tests necessary
Change-Id: I9df9ea18b265a580c2fcdb28a6d6ce4be43f0a24

7 years agoMerge "Enable AVRCP TG feature only when we can handle those commands"
Anubhav Gupta [Fri, 28 Oct 2016 21:31:08 +0000 (21:31 +0000)]
Merge "Enable AVRCP TG feature only when we can handle those commands"
am: f4f4a6e413

Change-Id: Ib07f7a76cf57772acc260c9e73a2b841d36c61ee

7 years agoMerge "Enable AVRCP TG feature only when we can handle those commands"
Treehugger Robot [Fri, 28 Oct 2016 21:24:46 +0000 (21:24 +0000)]
Merge "Enable AVRCP TG feature only when we can handle those commands"

7 years agoMerge "Report FW configuration status to upper layer"
Lakshmipathi K [Fri, 28 Oct 2016 21:00:21 +0000 (21:00 +0000)]
Merge "Report FW configuration  status to upper layer"
am: ed230620cf

Change-Id: Ia00b3603851cbd3d69ea898bf020cfd91e1d99ae

7 years agoMerge "Report FW configuration status to upper layer"
Treehugger Robot [Fri, 28 Oct 2016 20:50:42 +0000 (20:50 +0000)]
Merge "Report FW configuration  status to upper layer"

7 years agoMerge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
Jakub Pawlowski [Fri, 28 Oct 2016 20:49:48 +0000 (20:49 +0000)]
Merge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
am: 585b44078c

Change-Id: I82ddf0df2668e3ea9e55eeb8c76dfd5d5b6532ec

7 years agoMerge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
Treehugger Robot [Fri, 28 Oct 2016 20:45:08 +0000 (20:45 +0000)]
Merge "Separate LE scanner and GATT client BTIF interfaces (3/3)"

7 years agoMerge "Separated initialize and re-initialize of DM control block"
Srinu Jella [Fri, 28 Oct 2016 19:23:00 +0000 (19:23 +0000)]
Merge "Separated initialize and re-initialize of DM control block"
am: 646b81851c

Change-Id: I1164f39daf8779497b60f78f763dc24031dc8ffb

7 years agoMerge "Separated initialize and re-initialize of DM control block"
Treehugger Robot [Fri, 28 Oct 2016 19:14:38 +0000 (19:14 +0000)]
Merge "Separated initialize and re-initialize of DM control block"

7 years agoReport FW configuration status to upper layer
Lakshmipathi K [Mon, 18 Jul 2016 09:26:10 +0000 (14:56 +0530)]
Report FW configuration  status to upper layer

Report Firware configuration if success or failure from vendor library
to the upper layers to take necessary actions to proceed with Stack
initialization or not.

Test: mm -j 8
Change-Id: I56e4749b0eb995eb484a6f56a8e1c684678a02f4
Signed-off-by: Lakshmipathi K <lakshmipathi.k@intel.com>
7 years agoEnable AVRCP TG feature only when we can handle those commands
Anubhav Gupta [Tue, 5 May 2015 12:18:24 +0000 (17:48 +0530)]
Enable AVRCP TG feature only when we can handle those commands

  - Disable Control, Meta and Browse commands when TG is not up.

Change-Id: Ib54c104e87c735b55d6c6ec07c08d2149acc1a6d

7 years agoSeparate LE scanner and GATT client BTIF interfaces (3/3)
Jakub Pawlowski [Thu, 27 Oct 2016 18:49:40 +0000 (11:49 -0700)]
Separate LE scanner and GATT client BTIF interfaces (3/3)

In order to properly separate low level structures associated with LE
scanner and GATT client, their interfaces must be separated first.

Test: sl4a BleScanApiTest
Bug: 30622771
Change-Id: If804632c8e4b08fd15d5b847c7838822cf98d79f

7 years agoImprove HOGP input report error handling
Lawrance Liu [Fri, 28 Oct 2016 18:04:25 +0000 (18:04 +0000)]
Improve HOGP input report error handling
am: 9e6f5ad992

Change-Id: I981131309ce1b1bcd4eb82fc4d7d4c45553bc612

7 years agoImprove HOGP input report error handling
Lawrance Liu [Tue, 4 Oct 2016 08:09:15 +0000 (16:09 +0800)]
Improve HOGP input report error handling

This fixes com.android.bluetooth crash when receiving HOGP input report
for unknown characteristic.

Test: Pair/Unpair BLE mouse/keyboard devices.

7 years agoSeparated initialize and re-initialize of DM control block
Srinu Jella [Wed, 8 Jun 2016 12:01:41 +0000 (17:31 +0530)]
Separated initialize and re-initialize of DM control block

Use Case: Turning ON Bluetooth failed after network reset

Steps:
1. Turn ON Bluetooth
2. Go to settings->backup and restore->network reset.
3. Do reset to reset BT, WIFI, data.
4. Go back to Bluetooth settings menu and try to turn ON Bluetooth.

Failure: Bluetooth is not turning ON after network reset

Root Cause: In case BTA_SYS_HW_OFF_EVT event, alarm_new is getting called.
Which is causing issue in Next Turn ON of Bluetooth if PID is same.

Fix: Separated initialize and re-initialize of DM control block

Test: code compilation.

Change-Id: I09abfb22c67f04626564a7791e4b61ec3a523cc1

7 years agoSeparate LE scanner from GATT client (4/4)
Jakub Pawlowski [Fri, 28 Oct 2016 02:49:33 +0000 (02:49 +0000)]
Separate LE scanner from GATT client (4/4)
am: f3246f1c56

Change-Id: Iefb0e6c4df0865236584c3bcfce94604569a160a

7 years agotest: Add a README file
Myles Watson [Fri, 28 Oct 2016 00:20:02 +0000 (17:20 -0700)]
test: Add a README file

Test: Open README.md in a markdown viewer

Change-Id: I54342dee00bdffa4195bb9c160b12ff950e6c77b

7 years agoSeparate LE scanner from GATT client (4/4)
Jakub Pawlowski [Wed, 26 Oct 2016 22:31:24 +0000 (15:31 -0700)]
Separate LE scanner from GATT client (4/4)

Right now, LE scanning functionality is combined with the GATT client.
This is the source of various bugs, like scans suddenly stoppinging when
a GATT client is killed. It also increases memory consumption, because
we associate many structures with a GATT client, which are not necessary
when just scanning.

Test: sl4a BleScanApiTest ConcurrentBleScanTest
Bug: 30622771
Change-Id: I23b71255c459b185257654f68ea251b41ed2a14b

7 years agoRemove deprecated UNUSED macro (5/5)
Myles Watson [Thu, 27 Oct 2016 22:17:28 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (5/5)
am: d7ffd64acc

Change-Id: I070e381cb2e3934a67303fa7895cc8f9359cbe9a

7 years agoRemove deprecated UNUSED macro (4/5)
Myles Watson [Thu, 27 Oct 2016 22:17:26 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (4/5)
am: 64c3f22eb0

Change-Id: I01bb96846ba66afac6dc4089e63b418132327286

7 years agoRemove deprecated UNUSED macro (3/5)
Myles Watson [Thu, 27 Oct 2016 22:17:24 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (3/5)
am: d628a0695e

Change-Id: I2ca170f67548715b6c0a46b13e410329bc098657

7 years agoRemove deprecated UNUSED macro (2/5)
Myles Watson [Thu, 27 Oct 2016 22:17:21 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (2/5)
am: b96d349b2a

Change-Id: If58996af9e4e4da611d8ac6fabec3b4b35760e6c

7 years agoRemove deprecated UNUSED macro (1/5)
Myles Watson [Thu, 27 Oct 2016 22:17:18 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (1/5)
am: d35a648d39

Change-Id: I9253c3eed4cdeda75621aaa38ec87e4d8da5f9e9

7 years agoRemove deprecated UNUSED macro (5/5)
Myles Watson [Thu, 27 Oct 2016 17:27:36 +0000 (10:27 -0700)]
Remove deprecated UNUSED macro (5/5)

Include osi.h for UNUSED_ATTR.

Test: mma -j32

Change-Id: I43260669dc1f54639e46cc9620093d727ee86276

7 years agoRemove deprecated UNUSED macro (4/5)
Myles Watson [Thu, 27 Oct 2016 17:03:08 +0000 (10:03 -0700)]
Remove deprecated UNUSED macro (4/5)

These variables are the unused results of parsing macros.

Test: mma -j32

Change-Id: Id377b8280d8fb7cf1e4a366d8ac10bdb5a09361c

7 years agoRemove deprecated UNUSED macro (3/5)
Myles Watson [Thu, 27 Oct 2016 17:02:37 +0000 (10:02 -0700)]
Remove deprecated UNUSED macro (3/5)

These were caused by ifdefs, so they had to be
done by hand.

TEST: mma -j32

Change-Id: I183f3ee82e8744fed2b65dc96dc492b5bf079243

7 years agoRemove deprecated UNUSED macro (2/5)
Myles Watson [Thu, 27 Oct 2016 17:01:49 +0000 (10:01 -0700)]
Remove deprecated UNUSED macro (2/5)

These had to be added by hand.

Test: mma -j32

Change-Id: I0ea126a404fbaa27f2137bc197ee0f48cf87ac28

7 years agoRemove deprecated UNUSED macro (1/5)
Myles Watson [Thu, 27 Oct 2016 15:52:16 +0000 (08:52 -0700)]
Remove deprecated UNUSED macro (1/5)

Generated automatically with coccinelle

/* This rule matches functions with arguments
 * that have an UNUSED(arg) in the body.
 */
@r1@
identifier arg;
identifier fn;
type t;
parameter list[n] P;
@@

fn(P, const t arg) { ...
 UNUSED(arg);
 ...
 }

/* This rule removes the UNUSED line, and adds
 * UNUSED_ATTR to the parameter list.
 */
@depends on r1@
identifier r1.arg;
identifier r1.fn;
type r1.t;
parameter list[r1.n] r1.P;
typedef UNUSED_ATTR;
@@

fn(P,
- const t arg
+ UNUSED_ATTR GETRIDOFTHISCOMMA, const t arg
 ) { ...
-UNUSED(arg);
 ...
 }

Test: mma -j32

Change-Id: Idcaadd688d669d484e557becd050e69454508f3c

7 years agoReplace bluetooth protos with protobuf-lite
Colin Cross [Wed, 26 Oct 2016 23:27:31 +0000 (23:27 +0000)]
Replace bluetooth protos with protobuf-lite
am: 9a24711fd2

Change-Id: I5a51b7d05054b5457e9ad9c5827128d1f4c377da

7 years agoReplace bluetooth protos with protobuf-lite
Colin Cross [Wed, 26 Oct 2016 21:25:28 +0000 (14:25 -0700)]
Replace bluetooth protos with protobuf-lite

Use lite protobufs for bluetooth to remove dependency on
libprotobuf-cpp-full, which will be removed from the platform.

Requires dropping support for
adb shell dumpsys bluetooth_manager --proto-text
which requires full protobufs to call TextToString.  The functionality
can be restored without adding a dependency on full protobufs with a
host protobuf decoder.

Bug: 32417805
Test: builds
Change-Id: Ifc9ee23264b1bfff3ad1f85ef4914f788028971a

7 years agoSimplify SBC encoder API
Jakub Pawlowski [Wed, 26 Oct 2016 19:04:21 +0000 (19:04 +0000)]
Simplify SBC encoder API
am: 26f21028e2

Change-Id: I7c6ed7052c11f1ebe30c973c216cfd83be805c87

7 years agoExclude calls to android-specific code in generic build
Jakub Pawlowski [Tue, 25 Oct 2016 21:05:21 +0000 (14:05 -0700)]
Exclude calls to android-specific code in generic build

Currently there is no AVRCP implementation for non-android.

Test: build with ninja
Change-Id: I2ed1506923d4dc245a13168e881ed685b3385d19

7 years agoSimplify SBC encoder API
Jakub Pawlowski [Tue, 25 Oct 2016 21:28:39 +0000 (14:28 -0700)]
Simplify SBC encoder API

Currently it is unclear what the input, output, and configuration of
the SBC codec are. This patch refactors the use of the SBC_Encoder
function. Parameters for input and output are added, instead of passing
them in alongside the configuration.

Test: Tested A2DP playback
Change-Id: I755a022983f823475c14815cc0610f90a5fbc813

7 years agoMerge "Change how Advertise Data is passed to BTIF (2/3)"
Jakub Pawlowski [Wed, 26 Oct 2016 00:15:17 +0000 (00:15 +0000)]
Merge "Change how Advertise Data is passed to BTIF (2/3)"
am: f46a405cfa

Change-Id: I80f1930d7ea0262ae425296263261586b567c7a2

7 years agoMerge "Change how Advertise Data is passed to BTIF (2/3)"
Jakub Pawlowski [Wed, 26 Oct 2016 00:10:49 +0000 (00:10 +0000)]
Merge "Change how Advertise Data is passed to BTIF (2/3)"

7 years agoReset reconfig and suspend flags before connecting
Tsuyoshi Kamata [Tue, 25 Oct 2016 23:38:36 +0000 (23:38 +0000)]
Reset reconfig and suspend flags before connecting
am: 24940c3655

Change-Id: Iea795ddf9a145806ad90aec6dcf398c2b5e34dbf

7 years agoReset reconfig and suspend flags before connecting
Tsuyoshi Kamata [Wed, 4 Mar 2015 03:09:26 +0000 (12:09 +0900)]
Reset reconfig and suspend flags before connecting

When turning a carkit OFF during music playback, the flags are set to
false. After turning it back ON and re-connecting with the carkit, the
flags are not reset. This causes a potential disconnect when the pause
button is pushed on the carkit.

Bug: 28852454
Change-Id: If51c9b0a9d4180d5d3ca74963aa8186dd3f19e96

7 years agoChange how Advertise Data is passed to BTIF (2/3)
Jakub Pawlowski [Wed, 19 Oct 2016 21:46:09 +0000 (14:46 -0700)]
Change how Advertise Data is passed to BTIF (2/3)

The way that AD data is passed right now put some additional
limitations, i.e. only one manufacturer specific data can be set, or
only one service UUID. By moving AD generation to upper layers, aother
set of limitations is removed.

Test: Covered by BleAdvertiseApiTest sl4a test
Bug: 30622771
Change-Id: Iee48ea30ec4c055eaa1ad0b1678686d261106e76

7 years agoMerge "Update the A2DP codec setup and selection mechanism"
Pavlin Radoslavov [Tue, 25 Oct 2016 19:29:24 +0000 (19:29 +0000)]
Merge "Update the A2DP codec setup and selection mechanism"
am: e9fb256c0f

Change-Id: I18f572822dd1fa55b38fa16a318a0d4a0504748b

7 years agoMerge "Update the A2DP codec setup and selection mechanism"
Treehugger Robot [Tue, 25 Oct 2016 19:22:40 +0000 (19:22 +0000)]
Merge "Update the A2DP codec setup and selection mechanism"

7 years agoFix random crashes in HID related code
Jakub Pawlowski [Mon, 24 Oct 2016 23:48:44 +0000 (23:48 +0000)]
Fix random crashes in HID related code
am: d8f09d077d

Change-Id: I1029372edc763e8b52f0be7b9869efa8870039ba

7 years agoFix random crashes in HID related code
Jakub Pawlowski [Mon, 24 Oct 2016 22:00:12 +0000 (15:00 -0700)]
Fix random crashes in HID related code

Operation on characteristics/descriptors shouldn't access GATT database
when it's executed. This could happen while service rediscovery is in
progress.

Bug: 32240759
Test: connect to HID device
Change-Id: Ie2b6e6b451456204b1cea1e500df9a0ff949a9ef

7 years agoUpdate the A2DP codec setup and selection mechanism
Pavlin Radoslavov [Mon, 24 Oct 2016 03:39:46 +0000 (20:39 -0700)]
Update the A2DP codec setup and selection mechanism

* Update bta_av_co_audio_set_codec() so it can select among
  multiple available A2DP source codecs.
* Rename A2DP_SetCodec() to A2DP_SetSourceCodec() and update
  it to use tA2DP_CODEC_SEP_INDEX as an argument to specify
  the particular codec (instead of using SBC as default).

Also:
* Move the definition of AVDT_CODEC_SIZE from bt_target.h
  to avdt_api.h and increased its value from 10 to 20
* Add missing bta_av_co_audio_sink_has_scmst() check inside
  bta_av_co_find_peer_sink_supports_codec()
* Rename (inside bta_av_co.cc): cfg -> config

Bug: 30958229
Test: unit tests and A2DP streaming
Change-Id: I49fcf5063c3b6c4060abdfb60c2db171fa1ff747

7 years agoMerge "Dequeues direct connection request during cancel conn operation"
Subramanian Srinivasan [Mon, 24 Oct 2016 18:59:56 +0000 (18:59 +0000)]
Merge "Dequeues direct connection request during cancel conn operation"
am: 83503b2f11

Change-Id: I8507dab564116a5076a9db4bb42b651bb7ab1492

7 years agoMerge "Dequeues direct connection request during cancel conn operation"
Treehugger Robot [Mon, 24 Oct 2016 18:54:29 +0000 (18:54 +0000)]
Merge "Dequeues direct connection request during cancel conn operation"

7 years agoMerge "Update macros: Add parens and do-while blocks"
Myles Watson [Mon, 24 Oct 2016 17:23:20 +0000 (17:23 +0000)]
Merge "Update macros: Add parens and do-while blocks"
am: 73a5208372

Change-Id: I8839a01690da8fed57ae486bdcb8c326af4abbe0

7 years agoDequeues direct connection request during cancel conn operation
Subramanian Srinivasan [Thu, 21 Aug 2014 23:46:04 +0000 (16:46 -0700)]
Dequeues direct connection request during cancel conn operation

When cancel connection request for a device is sent
from an app and if the current pending connection
request's BD address does not match with this device,
the entries of the connection request pending queue
are also checked. If BD address match occurs with an
entry in the connection request queue, the entry is
removed from the queue.

Change-Id: I1bf50a424d86ac53a5201fff742c822f4c8d1c0b

7 years agoSerialize stack shutdown, state change callback and cleanup
Gurpreet Ghai [Mon, 24 Oct 2016 17:19:50 +0000 (17:19 +0000)]
Serialize stack shutdown, state change callback and cleanup
am: 16e112b186

Change-Id: I0bed40393771dd9940d75ff2352e1bba3b61bf75

7 years agoMerge "Update macros: Add parens and do-while blocks"
Treehugger Robot [Mon, 24 Oct 2016 17:19:33 +0000 (17:19 +0000)]
Merge "Update macros: Add parens and do-while blocks"

7 years agoSerialize stack shutdown, state change callback and cleanup
Gurpreet Ghai [Mon, 12 Sep 2016 12:06:53 +0000 (17:36 +0530)]
Serialize stack shutdown, state change callback and cleanup

Use Case: Bluetooth On/Off scenario, User switch

Steps:
1. Turn ON Bluetooth
2. Switch user
Also observed on occurrence of enable/disable timeout during On/Off testing.

Failure: Crash while sending state change HAL callback.

Root Cause: In the event when stack cleanup is queued to stack manager
thread when stack shutdown is being processed, stack cleanup starts
execution as soon as stack shutdown is finished.
If the function event_signal_stack_down posted to btif thread at the
end of stack shutdown is executed after stack cleanup crash occurs.

Fix: Serialized the execution of stack shutdown, state change callback
execution and stack cleanup to happen in same order.

Test: code compilation.

Change-Id: Ic96205b5c304acb44eab53f4e2cb150726643bda

7 years agoUpdate macros: Add parens and do-while blocks
Myles Watson [Fri, 21 Oct 2016 23:25:30 +0000 (16:25 -0700)]
Update macros: Add parens and do-while blocks

Test: mma -j32
Change-Id: I7a77fb3e045e29c57cbf2e9c36b8867ca263a82f

7 years agobtif: Add do-while blocks to macros
Myles Watson [Mon, 24 Oct 2016 00:43:57 +0000 (00:43 +0000)]
btif: Add do-while blocks to macros
am: 40cde56d28

Change-Id: Ib22adbe2c49c97b0f65e8b3c6b0fe4847535c469

7 years agobtif: Add do-while blocks to macros
Myles Watson [Fri, 21 Oct 2016 16:39:13 +0000 (09:39 -0700)]
btif: Add do-while blocks to macros

Test: mma -j32
Change-Id: Ie82465b8cef6c4f527fad13892abb365e15dad7c

7 years agoMerge "btif: Fix formatting in comments"
Myles Watson [Sat, 22 Oct 2016 03:37:03 +0000 (03:37 +0000)]
Merge "btif: Fix formatting in comments"
am: 9535bd59ed

Change-Id: I9c244a0793d1155b4e3e9b49fe5dc61cb343e2ee

7 years agoMerge "btif: Fix formatting in comments"
Treehugger Robot [Sat, 22 Oct 2016 03:29:07 +0000 (03:29 +0000)]
Merge "btif: Fix formatting in comments"

7 years agoMerge "Fix the GATT re-discovery failure when GATT service discovery is ongoing"
IHLHO KIM [Sat, 22 Oct 2016 00:56:54 +0000 (00:56 +0000)]
Merge "Fix the GATT re-discovery failure when GATT service discovery is ongoing"
am: 24efcef985

Change-Id: I89dad9199e4664674889e293c4f1b5fcf9d0106b

7 years agoMerge "Fix the GATT re-discovery failure when GATT service discovery is ongoing"
Treehugger Robot [Sat, 22 Oct 2016 00:54:38 +0000 (00:54 +0000)]
Merge "Fix the GATT re-discovery failure when GATT service discovery is ongoing"

7 years agoAvoid skipping SDP after link key derivation
Nitin Arora [Fri, 21 Oct 2016 23:14:46 +0000 (23:14 +0000)]
Avoid skipping SDP after link key derivation
am: 6e8198a22d

Change-Id: I52e5ed17fd3668eaeaa578b6f0e862e45e46abbe

7 years agobtif: Fix formatting in comments
Myles Watson [Fri, 21 Oct 2016 16:45:42 +0000 (09:45 -0700)]
btif: Fix formatting in comments

Test: mma -j32
Change-Id: I851e21d9f2935ab2afbf5e063f6df31e8d50c305

7 years agoFix the GATT re-discovery failure when GATT service discovery is ongoing
IHLHO KIM [Fri, 23 Sep 2016 07:43:54 +0000 (07:43 +0000)]
Fix the GATT re-discovery failure when GATT service discovery is ongoing

If 'BTA_GATTC_Refresh' is called when GATT service discovery is ongoing, GATT service discovery should be restarted after GATT service discovery is completed.
But it cannot be restarted actually because of missing set 'auto_update' state.
This patch set 'auto_update' state to start discovery again correctly.

Change-Id: Id18f04705fef253261e52836849e4e6020e42a05

7 years agoAvoid skipping SDP after link key derivation
Nitin Arora [Wed, 13 Apr 2016 22:53:03 +0000 (15:53 -0700)]
Avoid skipping SDP after link key derivation

Use Case:
In case of cross key derivation of BR link key from a secure LTK,
the corresponding BR transport needs to go through the SDP routine
and alert the upper layers regarding the bond completion of the
BR transport. This specific procedure is currently getting skipped
in an attempt to prevent spurious link key notifications from causing
bond state changes

Fix:
Added an additional check to make sure that the LE pairing is not
ongoing before skipping the SDP. This uses the sequence of operations
where the LE LTK is generated first and link key is derived from the
LTK.

Test: mma -j32
Change-Id: Ife242c93c3adf90d581ac0bbf4896dd164b9f8e2

7 years agoMerge "Reject AVRCP Metadata command with invalid length"
Anubhav Gupta [Fri, 21 Oct 2016 21:09:58 +0000 (21:09 +0000)]
Merge "Reject AVRCP Metadata command with invalid length"
am: 5868633e78

Change-Id: I038693a9d67ec55a3b2c6ad76a2419675809a29b

7 years agoMerge "Reject AVRCP Metadata command with invalid length"
Treehugger Robot [Fri, 21 Oct 2016 20:48:55 +0000 (20:48 +0000)]
Merge "Reject AVRCP Metadata command with invalid length"

7 years agoMerge "Disable HSP profile during BT turn off"
Satish Kodishala [Fri, 21 Oct 2016 20:27:31 +0000 (20:27 +0000)]
Merge "Disable HSP profile during BT turn off"
am: b60f387dcb

Change-Id: I2829458dad58cf4628626dd6ef732e2e77bc6e96

7 years agoMerge "Disable HSP profile during BT turn off"
Treehugger Robot [Fri, 21 Oct 2016 20:16:07 +0000 (20:16 +0000)]
Merge "Disable HSP profile during BT turn off"

7 years agoPrevent multiple register of service change indication
Nitin Arora [Fri, 21 Oct 2016 19:07:55 +0000 (19:07 +0000)]
Prevent multiple register of service change indication
am: 645ee14ce2

Change-Id: Id7c4b9c6f96a976c4a3a0b993c725cab3d605f7c

7 years agoDisable HSP profile during BT turn off
Satish Kodishala [Wed, 9 Mar 2016 13:27:01 +0000 (18:57 +0530)]
Disable HSP profile during BT turn off

Usecase:
1. Enable HSP profile only.
2. Do Network reset.
3. Connect to headset supporting HSP profile.

Failure:
Not able to connect to headset after network reset.

Rootcause:
During BT turn off, HFP profile is disabled instead of
HSP profile. This led to the HSP profile registration
from apps failed during turn on after network reset.

Fix:
Add a check to see if HFP or HSP profile is enabled
during BT turn off.

Test: code compilation
Change-Id: Ie7bd7b546c377f4a060bc89916640035a047d086

7 years agoReject AVRCP Metadata command with invalid length
Anubhav Gupta [Wed, 21 May 2014 14:33:00 +0000 (20:03 +0530)]
Reject AVRCP Metadata command with invalid length

This change ensures that DUT rejects AVRCP Meta command
having invalid data length to avoid crash while processing
the invalid command further.
This crash was seen while running codenomicon test suit.

Change-Id: I8a591d601636a0fce268b5b965f2bd691c24c319

7 years agoPrevent multiple register of service change indication
Nitin Arora [Thu, 16 Jun 2016 22:27:59 +0000 (15:27 -0700)]
Prevent multiple register of service change indication

Use Case:
Pair DUT to a remote LE device. The host registers for the service
change indication twice, once when the connection callback is
received and another time, when the SMP process completes

Failure:
There are a few issues caused by this.
First, the duplicate action of service change indication registeration
is unnecessary.
The registeration that follows the SMP process adds a gatt_if to the
apps holding the current link. This gatt_if (=1) never disconnects
after registeration failure or success. And hence the host can never
physically disconnect the link.

Fix:
This change removes the service change registeration at SMP
process completion

Test: manual
Change-Id: I0d7566e2b4a9d01aa7926cdbe9f528c3941fcfeb

7 years agoMerge "Remove multiplexing capability in AVDTP"
Pavlin Radoslavov [Fri, 21 Oct 2016 16:18:15 +0000 (16:18 +0000)]
Merge "Remove multiplexing capability in AVDTP"
am: 05de2a8ce0

Change-Id: I95714562cca9590f42a160f0dababf0af5c20bd3

7 years agoMerge "Remove multiplexing capability in AVDTP"
Treehugger Robot [Fri, 21 Oct 2016 16:12:53 +0000 (16:12 +0000)]
Merge "Remove multiplexing capability in AVDTP"

7 years agobtif: Fixup clang-format
Myles Watson [Fri, 21 Oct 2016 16:00:17 +0000 (16:00 +0000)]
btif: Fixup clang-format
am: f45481678a

Change-Id: Ibcca014e18451af924b06f4ee1ab5af306279ebc

7 years agobtif: Apply clang-format
Myles Watson [Fri, 21 Oct 2016 16:00:14 +0000 (16:00 +0000)]
btif: Apply clang-format
am: 6bd442f543

Change-Id: I06292eb468ed8e063f90792f08cce7e2249dcd7e

7 years agobtif: Fixup clang-format
Myles Watson [Wed, 19 Oct 2016 16:53:56 +0000 (09:53 -0700)]
btif: Fixup clang-format

In src/btif_sock_l2cap.cc:
Move a comment before the define and run clang-format again.

Fix formatting in comments that were more than 80-characters wide.

Test: mma -j32
Change-Id: I17465a1425d1de9a28f0675fe65c8529359a87af

7 years agobtif: Apply clang-format
Myles Watson [Wed, 19 Oct 2016 16:50:22 +0000 (09:50 -0700)]
btif: Apply clang-format

clang-format doesn't understand block quotes of this form:

/*  This is not handled well
**  because there are two asterisks
**/

cd btif/

 # Replace '**' at the beginning of the line with ' *'

sed 's/^[*][*]/ \*/' -i include/* src/* test/* co/*
clang-format --style=file -i src/* include/* test/* co/*

Test: mma -j32
Change-Id: I2477eae5480602d5b2fee5ec89c9ed7888022341

7 years agoRemove multiplexing capability in AVDTP
Pavlin Radoslavov [Fri, 21 Oct 2016 01:30:05 +0000 (18:30 -0700)]
Remove multiplexing capability in AVDTP

Remove code guarded by AVDT_MULTIPLEXING.
This functionality is not used, and appears broken.

Test: code compilation and A2DP streaming
Change-Id: Ib87a905c61cff6b3b41d1858b90666d846847d0d

7 years agoMerge "Various small warning/build fixes for Linux"
Jakub Pawlowski [Thu, 20 Oct 2016 22:23:23 +0000 (22:23 +0000)]
Merge "Various small warning/build fixes for Linux"
am: ed82cc2e6c

Change-Id: Ic5dfc70bd83c86475dee16062563a02ae932888c

7 years agoMerge "Various small warning/build fixes for Linux"
Treehugger Robot [Thu, 20 Oct 2016 22:16:03 +0000 (22:16 +0000)]
Merge "Various small warning/build fixes for Linux"