OSDN Git Service

android-x86/system-bt.git
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 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"

7 years agoReset device security flags when pairing fails
Andre Eisenbach [Thu, 20 Oct 2016 20:41:17 +0000 (20:41 +0000)]
Reset device security flags when pairing fails
am: 415d112056

Change-Id: If584eba5a0b31c2857908eb01c77372b53e9b349

7 years agoReset device security flags when pairing fails
Andre Eisenbach [Tue, 18 Oct 2016 00:32:45 +0000 (17:32 -0700)]
Reset device security flags when pairing fails

Bug: 29998634
Test: manual
(cherry picked from commit 54ee9431e8bf0ec1c47d7306fd7a3d0975590733)

Change-Id: I8bd0ce5b797e30009260f7fe673f389d066db9ac

7 years agoVarious small warning/build fixes for Linux
Jakub Pawlowski [Thu, 20 Oct 2016 17:19:50 +0000 (10:19 -0700)]
Various small warning/build fixes for Linux

Test: build with ninja
Change-Id: Ic0f4d23e4a56a42be6e660f2afec83400ea6daa6

7 years agoVarious small fixes for Linux build
Jakub Pawlowski [Thu, 20 Oct 2016 15:47:22 +0000 (15:47 +0000)]
Various small fixes for Linux build
am: 029a43b78e

Change-Id: Ie75a6f935ee4071cf5d0431ce6168fda9947d411

7 years agoVarious small fixes for Linux build
Jakub Pawlowski [Thu, 20 Oct 2016 06:31:13 +0000 (23:31 -0700)]
Various small fixes for Linux build

* add "-latomic" which was missing since we moved to clang
* empty LOG_EVENT_INT stub added for Linux
* add link libraries to fix stack_unittest
* add missing headers

Test: build with ninja
Change-Id: I1fe0b0b615db1da5ad083c162cb207b08979ce15

7 years agoMove libhardware dependency to third_party folder on Linux
Jakub Pawlowski [Thu, 20 Oct 2016 01:52:32 +0000 (01:52 +0000)]
Move libhardware dependency to third_party folder on Linux
am: d550019746

Change-Id: I270320ff6231af46b3f38d6e96ab8e95bfb236da

7 years agoMove libhardware dependency to third_party folder on Linux
Jakub Pawlowski [Thu, 20 Oct 2016 01:35:18 +0000 (18:35 -0700)]
Move libhardware dependency to third_party folder on Linux

Thanks to this change we no longer have to configure paths by hand

Test: build with ninja
Change-Id: I04dfaa8f16e52a25efcc241019bae40d4201fb8b

7 years agoosi: Apply clang-format
Myles Watson [Wed, 19 Oct 2016 22:14:19 +0000 (22:14 +0000)]
osi: Apply clang-format
am: b55040cc64

Change-Id: Ie27561c10d215e7c64b518402c529ec40908a485

7 years agoosi: Apply clang-format
Myles Watson [Wed, 19 Oct 2016 20:15:34 +0000 (13:15 -0700)]
osi: Apply clang-format

cd osi/
clang-format -i --style=file include/*.h include/socket_utils/* src/*.cc \
    src/socket_utils/* src/protos/* test/*

Test: mma -j32
Change-Id: I659e586076f1e2ec8f687cd33f441700b8d1f823

7 years agoGet rid of dependency on core from linux build (1/2)
Jakub Pawlowski [Wed, 19 Oct 2016 19:18:18 +0000 (19:18 +0000)]
Get rid of dependency on core from linux build (1/2)
am: b08fbbf106

Change-Id: I06f6701477859f3e02c2b76279bde9d673c53d2e

7 years agoGet rid of dependency on core from linux build (1/2)
Jakub Pawlowski [Wed, 19 Oct 2016 03:22:14 +0000 (20:22 -0700)]
Get rid of dependency on core from linux build (1/2)

When building bluetooth stack for linux, don't include dependencies from
core.

Test: build with ninja and mma
Change-Id: I02aeb178327c9f6c0414cc37624aecc58fb0876e

7 years agoMerge "Abstract the adjustment of A2DP codec parameters"
Pavlin Radoslavov [Wed, 19 Oct 2016 07:16:56 +0000 (07:16 +0000)]
Merge "Abstract the adjustment of A2DP codec parameters"
am: 425a8cfa39

Change-Id: I26f82041d6273f05d797ccd4309760a11d1d48c2

7 years agoMerge "Abstract the adjustment of A2DP codec parameters"
Treehugger Robot [Wed, 19 Oct 2016 07:11:14 +0000 (07:11 +0000)]
Merge "Abstract the adjustment of A2DP codec parameters"

7 years agoRemove Android a2dp bridge from generic build configuration
Jakub Pawlowski [Wed, 19 Oct 2016 04:30:46 +0000 (04:30 +0000)]
Remove Android a2dp bridge from generic build configuration
am: 5baa875baa

Change-Id: I6ace10e7d598db1e00f30edf3356f2e5df7e8fb8

7 years agoRemove Android a2dp bridge from generic build configuration
Jakub Pawlowski [Wed, 19 Oct 2016 01:45:21 +0000 (18:45 -0700)]
Remove Android a2dp bridge from generic build configuration

Code in audio_a2dp_hw folder contains Android-specific code for talking
to Android media libraries. It is not useful on other platforms, and
only adds unnecessary dependencies.

Test: compile with ninja
Change-Id: Ia0313332b4456ba0287587da66cdf2cce045f89c

7 years agoAbstract the adjustment of A2DP codec parameters
Pavlin Radoslavov [Wed, 19 Oct 2016 00:19:55 +0000 (17:19 -0700)]
Abstract the adjustment of A2DP codec parameters

Replaced hard-coded SBC-specific hack for updating some
of its parameters with an API abstraction: A2DP_AdjustCodec()
Also, added the corresponding unit tests.

Bug: 30958229
Test: manual A2DP testing, added new unit tests
Change-Id: I51a0a019d107362f9c24829408d426a5403b0a8e

7 years agoMerge "Use the default LE connection timeout if the remote device has no preference"
Jakub Pawlowski [Wed, 19 Oct 2016 00:55:46 +0000 (00:55 +0000)]
Merge "Use the default LE connection timeout if the remote device has no preference"
am: 18ab8cc580

Change-Id: I23f0cda113f5d943e2f97f507314ca897deacb4a

7 years agoMerge "Use the default LE connection timeout if the remote device has no preference"
Treehugger Robot [Wed, 19 Oct 2016 00:50:29 +0000 (00:50 +0000)]
Merge "Use the default LE connection timeout if the remote device has no preference"

7 years agoMerge "Remove unused task IDs"
Andre Eisenbach [Wed, 19 Oct 2016 00:35:32 +0000 (00:35 +0000)]
Merge "Remove unused task IDs"
am: 2a7c083e7e

Change-Id: Ifdbfc60ddaf38aa5ab81de62be52b9a971cade35

7 years agoMerge "Remove unused task IDs"
Treehugger Robot [Wed, 19 Oct 2016 00:30:01 +0000 (00:30 +0000)]
Merge "Remove unused task IDs"

7 years agoUse the default LE connection timeout if the remote device has no preference
Jakub Pawlowski [Tue, 18 Oct 2016 21:56:00 +0000 (14:56 -0700)]
Use the default LE connection timeout if the remote device has no preference

Change-Id: I03f022b6f18c7d1ec7f139a7d67fd60ec6f15ba2

7 years agoMerge "Add the appropriate statement to "case:" without "break""
Pavlin Radoslavov [Tue, 18 Oct 2016 20:53:03 +0000 (20:53 +0000)]
Merge "Add the appropriate statement to "case:" without "break""
am: 43b6bd3af7

Change-Id: I930944124ac86923dfff57fca50e71353b37c2d3

7 years agoMerge "Remove GAP_CONN_POST_EVT_INCLUDED"
Andre Eisenbach [Tue, 18 Oct 2016 20:52:53 +0000 (20:52 +0000)]
Merge "Remove GAP_CONN_POST_EVT_INCLUDED"
am: 95f9af3e65

Change-Id: I220a092683643611acb3a5fb00952fea653d4c61

7 years agoMerge "Add the appropriate statement to "case:" without "break""
Treehugger Robot [Tue, 18 Oct 2016 20:48:22 +0000 (20:48 +0000)]
Merge "Add the appropriate statement to "case:" without "break""

7 years agoMerge "Remove GAP_CONN_POST_EVT_INCLUDED"
Treehugger Robot [Tue, 18 Oct 2016 20:44:08 +0000 (20:44 +0000)]
Merge "Remove GAP_CONN_POST_EVT_INCLUDED"

7 years agoLinux build fix
Jakub Pawlowski [Tue, 18 Oct 2016 20:10:19 +0000 (20:10 +0000)]
Linux build fix
am: 4d237f22c0

Change-Id: I93415a4f4c1017f4b276c6c3fcf1d2f5ee0476bf

7 years agoRemove unused task IDs
Andre Eisenbach [Tue, 18 Oct 2016 19:16:07 +0000 (12:16 -0700)]
Remove unused task IDs

Test: compiles
Change-Id: I0a16498d82d12e1b7597290e8b778efb5a7b3906

7 years agoRemove GAP_CONN_POST_EVT_INCLUDED
Andre Eisenbach [Tue, 18 Oct 2016 18:58:57 +0000 (11:58 -0700)]
Remove GAP_CONN_POST_EVT_INCLUDED

Also removed last usage of a GKI_* function.

Test: compiles
Change-Id: If9f8beca5d8485b363027fd64ac4005e9e499721

7 years agoAdd clang configuration for ninja build scripts
Jakub Pawlowski [Tue, 18 Oct 2016 17:54:10 +0000 (17:54 +0000)]
Add clang configuration for ninja build scripts
am: e28785321b

Change-Id: Ie0fdc906d08abc88c28b11827fbe4a4f909e867d

7 years agoLinux build fix
Jakub Pawlowski [Tue, 18 Oct 2016 16:56:29 +0000 (09:56 -0700)]
Linux build fix

Test: compile using ninja

7 years agoAdd the appropriate statement to "case:" without "break"
Pavlin Radoslavov [Tue, 18 Oct 2016 17:12:26 +0000 (10:12 -0700)]
Add the appropriate statement to "case:" without "break"

Test: code compilation
Change-Id: Ia43d7530a598a526764023c47bb20fdedda6fe64

7 years agoAdd clang configuration for ninja build scripts
Jakub Pawlowski [Tue, 18 Oct 2016 16:56:57 +0000 (09:56 -0700)]
Add clang configuration for ninja build scripts

Test: compile with ninja
Change-Id: I0f2ff28a03de05ea96bed5ba43eace9609d8deb0

7 years agobtif_rc: Don't memset STL mutex objects
Greg Kaiser [Tue, 18 Oct 2016 17:00:01 +0000 (17:00 +0000)]
btif_rc: Don't memset STL mutex objects
am: 78965e88ee

Change-Id: Ib6aa1f0d60a60c3f660e2c1b3eade27b89e0abe7

7 years agobtif_rc: Don't memset STL mutex objects
Greg Kaiser [Tue, 18 Oct 2016 14:04:24 +0000 (07:04 -0700)]
btif_rc: Don't memset STL mutex objects

Switching to STL mutex/recursive_mutex objects left us with
code which memset these objects.  These are opaque, and need to
be initialized/destroyed via constructors/destructors, not
through directly setting their memory.

We change our memset calls to only zero out the parts of the
structs which don't have these objects.

Test: Recompile
Change-Id: Idf666e935f4094ad4cfca7cdafa523f777a7e769

7 years agoRenamed most C files to C++: *.c to *.cc
Pavlin Radoslavov [Tue, 18 Oct 2016 07:25:26 +0000 (07:25 +0000)]
Renamed most C files to C++: *.c to *.cc
am: b2a292b5d8

Change-Id: I80a6e26de5db95ededa91adffa16c5da103a4f74

7 years agoRenamed most C files to C++: *.c to *.cc
Pavlin Radoslavov [Sat, 15 Oct 2016 02:34:48 +0000 (19:34 -0700)]
Renamed most C files to C++: *.c to *.cc

Also:
 - Fixed C++ related compilation errors.
 - Added missing 'extern "C"' guards in some of the header files.
 - Added missing LOCAL_CPP_EXTENSION to Android.mk files.
 - Added-back btif/src/btif_mce.cc and bta/mce/bta_mce_* to
   btif/Android.mk and bta/Android.mk respectively.
 - Fixed the alphabetical ordering of the *.cc files in some
   of the Android.mk files.
 - Added missing Copyright header to "osi/include/list.h"
 - Updated "osi/src/wakelock.cc" to use C++ std::string
   instead of dynamic allocation of C-style strings.

Test: code compilation, unit tests, and A2DP streaming
Change-Id: Ia2f7215ed9df32775c701b68fc86b09875b942c7

7 years agoRemoved obsoleted define statements from bt_target.h
Pavlin Radoslavov [Tue, 18 Oct 2016 05:02:47 +0000 (05:02 +0000)]
Removed obsoleted define statements from bt_target.h
am: 3c196348ee

Change-Id: I20af86287c83b4ba05e55a02776b9a3889229fc6

7 years agoRemoved obsoleted define statements from bt_target.h
Pavlin Radoslavov [Tue, 18 Oct 2016 00:38:02 +0000 (17:38 -0700)]
Removed obsoleted define statements from bt_target.h

The removed statements were accidentally re-introduced
by an earlier CL that wasn't cherry-picked / rebased properly.

Test: code compilation.
Change-Id: I726a8df99c4a8e7af8130c0ca63306e67c4486c3

7 years agoMerge "Add various missing includes"
Mark Salyzyn [Tue, 18 Oct 2016 01:44:54 +0000 (01:44 +0000)]
Merge "Add various missing includes"
am: 66e8c7aa14

Change-Id: I741ade8b7054fcbca5d703f835c40a9db1148176

7 years agoMerge "Add various missing includes"
Treehugger Robot [Tue, 18 Oct 2016 01:38:08 +0000 (01:38 +0000)]
Merge "Add various missing includes"

7 years agoMake advertising instance count part of the HCI interface
Jakub Pawlowski [Tue, 18 Oct 2016 01:22:04 +0000 (01:22 +0000)]
Make advertising instance count part of the HCI interface
am: 1dd7751088

Change-Id: I09eeb00aab9893068f62669cb42aaf7efc4b875f

7 years agoAdd various missing includes
Mark Salyzyn [Mon, 17 Oct 2016 16:43:39 +0000 (09:43 -0700)]
Add various missing includes

Test: Build errors
Bug: 30465923
Change-Id: Ib902d9d11d1f346d4dab0678d7f409f11a35c1b2

7 years agoMake advertising instance count part of the HCI interface
Jakub Pawlowski [Mon, 10 Oct 2016 21:25:52 +0000 (14:25 -0700)]
Make advertising instance count part of the HCI interface

The number of advertising instances will ultimately depend on the HCI
interface used. BleAdvertisingManagerImpl should not depend on a global
function for that.

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

7 years agoImplement AVRCP Controller (Client) Browsing.
Sanket Agarwal [Mon, 17 Oct 2016 21:30:50 +0000 (21:30 +0000)]
Implement AVRCP Controller (Client) Browsing.
am: e7bd890565

Change-Id: Ibd246c1de29b17a0cf3f11f7280bb9bdccd1c842

7 years agoRemoved duplicate define of BT_HCI_UNKNOWN_MESSAGE_TYPE_NUM
Pavlin Radoslavov [Mon, 17 Oct 2016 20:45:31 +0000 (13:45 -0700)]
Removed duplicate define of BT_HCI_UNKNOWN_MESSAGE_TYPE_NUM

Change-Id: I1487eb0a77aa8c92d70e3fbd931a6340e1e952f3

7 years agoImplement AVRCP Controller (Client) Browsing.
Sanket Agarwal [Wed, 11 May 2016 19:30:49 +0000 (12:30 -0700)]
Implement AVRCP Controller (Client) Browsing.

Following is included as part of the features:
a) Browsing for all 4 scopes (Media, VFS, Player and Now Playing)
b) Player selection and song selection from browse list.

The change constructs the following (from lower to upper protocol
layers):
1. AVCTP Browse (bta/ & stack/)
                -- Connection Handling
                -- Constructing browse commands
                -- Parsing browse responses
2. AVRCP  (btif/)
                -- JNI interaction/API
                -- Connection handling to Java
                -- Delegating request and responses to Java

Bug: 28791287
Change-Id: Ibc97ded93cb9c469778ea1e37733390d561cd4cd
(cherry picked from commit 9ea8d07c9286a1f4d338dd64ee02266e324d28e5)

7 years agoFormat A2DP-related code with clang-format
Pavlin Radoslavov [Sat, 15 Oct 2016 12:10:16 +0000 (12:10 +0000)]
Format A2DP-related code with clang-format
am: 397e5a5d6a

Change-Id: I26e949b947ddf440fd71acfe24ef5740a7e3b13c

7 years agoRemoved unused *_DYNAMIC_MEMORY conditional statements
Pavlin Radoslavov [Sat, 15 Oct 2016 10:15:07 +0000 (10:15 +0000)]
Removed unused *_DYNAMIC_MEMORY conditional statements
am: 37c1b5f8cc

Change-Id: I8caeb3272c68f735428bfc5282688f6526db3367

7 years agoFormat A2DP-related code with clang-format
Pavlin Radoslavov [Fri, 14 Oct 2016 23:13:54 +0000 (16:13 -0700)]
Format A2DP-related code with clang-format

clang-format -style=file -i stack/a2dp/a2dp_* stack/include/a2dp_* \
        btif/include/btif_a2dp* btif/src/btif_a2dp*

Test: top-level compilation and running A2DP
Change-Id: I66f0a047192b783ac0147def480754daf617dd8d

7 years agoRemoved unused *_DYNAMIC_MEMORY conditional statements
Pavlin Radoslavov [Fri, 14 Oct 2016 22:47:27 +0000 (15:47 -0700)]
Removed unused *_DYNAMIC_MEMORY conditional statements

Test: compilation from the top-level directory
Change-Id: I181e6ae2e71c232ca0dc733dabda5cb0fc2672d8

7 years agoMerge "Use proper types in SBC related code"
Jakub Pawlowski [Sat, 15 Oct 2016 04:58:16 +0000 (04:58 +0000)]
Merge "Use proper types in SBC related code"
am: 3a9119a909

Change-Id: Ic358915630706a08305bb9264e3c0520dd0efb8e

7 years agoMerge "Use proper types in SBC related code"
Treehugger Robot [Sat, 15 Oct 2016 04:51:06 +0000 (04:51 +0000)]
Merge "Use proper types in SBC related code"

7 years agoUse proper types in SBC related code
Jakub Pawlowski [Sat, 15 Oct 2016 00:14:16 +0000 (17:14 -0700)]
Use proper types in SBC related code

Use int32_t and int16_t instead of SINT32 and SINT16

Test: organoleptic assessment of audio quality from Android and Linux
Change-Id: Ia4d8a5f08163a90240382fd102082f5aab9611c5

7 years agoMerge "Add device record for BR/EDR devices with derived LE keys"
Subramanian Srinivasan [Sat, 15 Oct 2016 00:43:58 +0000 (00:43 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys"
am: fbf43ab2c5

Change-Id: Ib5f6a34cde57ad6a3560127f7035e1ad8737cb98

7 years agoMerge "Add device record for BR/EDR devices with derived LE keys"
Treehugger Robot [Sat, 15 Oct 2016 00:34:00 +0000 (00:34 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys"

7 years agoMerge "A2DP-related renaming: a2d_* to a2dp_*"
Pavlin Radoslavov [Sat, 15 Oct 2016 00:20:28 +0000 (00:20 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*"
am: e0214a0be6

Change-Id: I0f62fb6f38a94f3716a9a09a70a32e2175fc3686

7 years agoMerge "A2DP-related renaming: a2d_* to a2dp_*"
Treehugger Robot [Sat, 15 Oct 2016 00:09:42 +0000 (00:09 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*"

7 years agoFixes setting of service uuid mask during BLE APCF scan
Subramanian Srinivasan [Fri, 14 Oct 2016 23:37:26 +0000 (23:37 +0000)]
Fixes setting of service uuid mask during BLE APCF scan
am: 96d078b59d

Change-Id: Ie924fc835a32ec188a7a004445db1d80ca3af65f

7 years agoAdd device record for BR/EDR devices with derived LE keys
Subramanian Srinivasan [Fri, 14 Oct 2016 22:43:34 +0000 (15:43 -0700)]
Add device record for BR/EDR devices with derived LE keys

Loads BLE keys stored in NVRAM to btm_sec database for BR/EDR
devices with cross transport derived LE keys after BT reset.
This change also makes sure that after BT reset, while loading
the bonded devices from NVRAM, the bonded devices(with device
type BR/EDR and having derived BLE keys) are also added to the
resolving list after loading the IRK into btm_sec database.

Test: vendor
Change-Id: I1c9164a947526cf2ea36156458d148f5cbee778f

7 years agoA2DP-related renaming: a2d_* to a2dp_*
Pavlin Radoslavov [Fri, 14 Oct 2016 22:14:37 +0000 (15:14 -0700)]
A2DP-related renaming: a2d_* to a2dp_*

Test: top-level compilation and running A2DP

Change-Id: Ibbd3176b86667885666bfe29025ec2c120fafce6

7 years agoFixes setting of service uuid mask during BLE APCF scan
Subramanian Srinivasan [Mon, 24 Aug 2015 19:17:03 +0000 (12:17 -0700)]
Fixes setting of service uuid mask during BLE APCF scan

Fixes setting of incorrect service uuid mask bytes in vendor
specific command when service uuid mask length is less than
the length of service uuid APCF filter.
eg:ServiceUuid:12131215-0000-1000-8000-00805F9B34FB
SvcMaskUuid:0000FFFF-0000-1000-8000-00805F9B34FB
In the above eg, user is trying to apply 32 bit service uuid
mask on 32 bit service uuid. But the stack treats the
service uuid mask as 16 bits and inserts garbage values for
the first 16 bits of service uuid mask in the VS command
since the MSB bits of the mask are zeroes. This change fixes
the scenario where service uuid mask length is less than
service uuid length.

Change-Id: Ie1aece1162b1ba7f4b7a3e9eea7eb5a074f85d62

7 years agoHCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
Lawrance Liu [Fri, 14 Oct 2016 21:30:14 +0000 (21:30 +0000)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
am: d20c0d7bb6

Change-Id: Idfdad13516242353eed284fe4e2683c5d69dcb3c

7 years agoMerge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
Pavlin Radoslavov [Fri, 14 Oct 2016 20:36:48 +0000 (20:36 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
am: 3f3b855dd0

Change-Id: I73f73a60226fca96184792ddaab26a85cdfafeed

7 years agoUpdate hf structure on phone state change only if SLC is up
Satish Kodishala [Fri, 14 Oct 2016 20:36:38 +0000 (20:36 +0000)]
Update hf structure on phone state change only if SLC is up
am: d4710b9012

Change-Id: I4c50f81cc03ec3811ba28258604b2f26bc1458d5

7 years agoUpdate GATT channel state to closing during disconnection
Nitin Arora [Fri, 14 Oct 2016 20:36:29 +0000 (20:36 +0000)]
Update GATT channel state to closing during disconnection
am: ce1f3407a4

Change-Id: I8e61e6a42c570ef6068e0fa69234a2511bb9c911

7 years agoSkip LE key derivation if BR key is temporary
Nitin Arora [Fri, 14 Oct 2016 20:36:20 +0000 (20:36 +0000)]
Skip LE key derivation if BR key is temporary
am: a6a2ece5fd

Change-Id: Ic212a73f1783d02431c6f95edfc8f684796a046e

7 years agoAdd null checks for L2CAP socket callback
Srinu Jella [Fri, 14 Oct 2016 20:36:10 +0000 (20:36 +0000)]
Add null checks for L2CAP socket callback
am: 62e6c14cde

Change-Id: Ic0869d1945696153833bb9b2740ddb85bbe599f5

7 years agoMerge "Rectify size passed to copy service name to security records"
Gurpreet Ghai [Fri, 14 Oct 2016 20:36:02 +0000 (20:36 +0000)]
Merge "Rectify size passed to copy service name to security records"
am: 682ff8e512

Change-Id: Icbe01a2883103cda68f806e2ca099109c0b97e37

7 years agoMerge "Remove bonded device information on pairing rejected"
Srinu Jella [Fri, 14 Oct 2016 20:35:49 +0000 (20:35 +0000)]
Merge "Remove bonded device information on pairing rejected"
am: 79fe542032

Change-Id: I156b1f5b7765b59fdc1bfd834098a39d287bb1cc

7 years agoMerge "Cleanup L2CAP socket properly on close"
Srinu Jella [Fri, 14 Oct 2016 20:35:38 +0000 (20:35 +0000)]
Merge "Cleanup L2CAP socket properly on close"
am: db45524a30

Change-Id: I491cff2ce03d426d20126e24635fa47fbcf8a21c

7 years agoFix HFP AT command BIA failures
Devin Kim [Fri, 14 Oct 2016 20:35:29 +0000 (20:35 +0000)]
Fix HFP AT command BIA failures
am: 650e755cd4

Change-Id: Ia370060c953e73417b54e6906dad4fd929a7d9de

7 years agoRFCOMM: Prevent sending data in BTA_JV_ST_NONE state
Srinu Jella [Fri, 14 Oct 2016 20:35:19 +0000 (20:35 +0000)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state
am: 46069c6419

Change-Id: If2ff94e17a6198700e182ea46bcb30bae7796828

7 years agoAdd missing header files for ninja
Jakub Pawlowski [Fri, 14 Oct 2016 20:35:05 +0000 (20:35 +0000)]
Add missing header files for ninja
am: 23f1d32922

Change-Id: I76e28ef1b0b5f1146c2ba3ffd3040e652195a85f

7 years agoHCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
Lawrance Liu [Wed, 21 Sep 2016 15:01:13 +0000 (23:01 +0800)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors

If HCI HAL receives error code "EAGAIN" when transmitting data on UART
socket, retry transmit data again.

Purpose :
When doing system suspend/resume aging test, the HCI HAL may transmit
data during system resuming. In this case, there exist some timing which
BT controller does not allow HCI HAL to transmit data.

Change-Id: Ic1f13c76d8e735c941800a318a0388ca42b1fd72
Test: System suspend/resume aging test.

7 years agoMerge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
Treehugger Robot [Fri, 14 Oct 2016 20:21:15 +0000 (20:21 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"

7 years agoUpdate hf structure on phone state change only if SLC is up
Satish Kodishala [Thu, 4 Feb 2016 04:05:59 +0000 (09:35 +0530)]
Update hf structure on phone state change only if SLC is up

Usecase:
1. Enable multi-hf
2. Pair and connect A2DP to a headset(hs1).
3. Pair and connect HFP to another headset(hs2)
4. Accept call on AG
5. Disconnect hs2 by powering off headset
6. Disconnect the call
7. Power on the hs2

Failure:
No A2DP playback on hs1 though music player is playing.

Rootcause:
When there is a call on AG, we update both hf structures about
the call. However, when any headset gets disconnected, only its
hf structure is cleared. After the call is ended, we don't clear
hf structures since there is no hf connection. When A2DP queries
for active call, we return true incorrectly since the hs1's structures
are not updated when the call is ended.

Fix:
Update hf structures on phone state change only if SLC is connected
on it. Updating both hf structures regardless of the SLC state causes
hf state to indicate wrong status.

Test: manual
Change-Id: I487792038d97a2bac77639d7c699f49fc0b18f97

7 years agoUpdate GATT channel state to closing during disconnection
Nitin Arora [Thu, 14 May 2015 01:39:50 +0000 (18:39 -0700)]
Update GATT channel state to closing during disconnection

This change ensures that the GATT channel state is
moved to CLOSING state while GATT disconnect is
requested by the host, specifically when the GATT
state is OPEN.
This is needed to prevent any furthur GATT operations,
once GATT disconnect is issued.

Change-Id: I8511caa477881de4f4eaf18b84f23530e1958fe9

7 years agoSkip LE key derivation if BR key is temporary
Nitin Arora [Wed, 19 Aug 2015 22:47:23 +0000 (15:47 -0700)]
Skip LE key derivation if BR key is temporary

This change skips the LE LTK derivation in case the BR pairig
is not deticated bonding and neither side has requested MITM.
I.e. OPP file transfer require such bonds. This change resolve
the issue of residual IRK in the resolving list.

Change-Id: Ifc9dfc097564f603a466a5bd9b245c89f1bb82aa

7 years agoAdd null checks for L2CAP socket callback
Srinu Jella [Wed, 25 Mar 2015 07:36:38 +0000 (13:06 +0530)]
Add null checks for L2CAP socket callback

Use Case: Bluetooth process crashed while sending the file
to remote device.

Steps: Send a file over L2CAP (OBEX over L2CAP) to remote device

Failure: BT process will crash and restarted automatically

Root Cause: L2CAP socket callback reset to null on error
condition, and when other function try to dereference it, this
leads to BT crash.

Fix: Added null checks for L2CAP socket callback

Change-Id: I2e4f20278fcc8a09bd4dbd507a6c4147e0de93c1

7 years agoRenamed files: *.c to *.cc in bta/av and stack/a2dp
Pavlin Radoslavov [Fri, 14 Oct 2016 19:17:08 +0000 (12:17 -0700)]
Renamed files: *.c to *.cc in bta/av and stack/a2dp

Also, fixed C++ related compilation errors.

Test: code compilation from top-level directory
Change-Id: I60367ee7bc54b891cb05bb3f88dd11ebe5b2ca83

7 years agoMerge "Rectify size passed to copy service name to security records"
Treehugger Robot [Fri, 14 Oct 2016 19:49:05 +0000 (19:49 +0000)]
Merge "Rectify size passed to copy service name to security records"