OSDN Git Service

android-x86/system-bt.git
7 years agotest_vendor: Move include to .cc file
Myles Watson [Wed, 19 Jul 2017 21:40:44 +0000 (21:40 +0000)]
test_vendor: Move include to .cc file
am: 8769e8e923

Change-Id: Iebdef1bd24f4ae9710df389fef482afd035aced7

7 years agotest_vendor: Move include to .cc file
Myles Watson [Tue, 7 Mar 2017 13:02:01 +0000 (05:02 -0800)]
test_vendor: Move include to .cc file

Test: compile
Change-Id: Ib13830f92c305bcd9d7e688d0d4dba78499b1f5b

7 years agoMerge "test_vendor: Implement L2CAP packet fragmentation"
jruthe [Wed, 19 Jul 2017 00:28:20 +0000 (00:28 +0000)]
Merge "test_vendor: Implement L2CAP packet fragmentation"
am: 3dc90dd77e

Change-Id: I99e34e131e5735a676c7e8dc1ea1d902544213d4

7 years agoMerge "test_vendor: Implement L2CAP packet fragmentation"
Treehugger Robot [Wed, 19 Jul 2017 00:19:25 +0000 (00:19 +0000)]
Merge "test_vendor: Implement L2CAP packet fragmentation"

7 years agoDo not delete pairing on HCI connection timeout
Andre Eisenbach [Wed, 19 Jul 2017 00:01:59 +0000 (00:01 +0000)]
Do not delete pairing on HCI connection timeout
am: f54d7e2719

Change-Id: I3d56d141385c5d04b919baa2c4360ed242c2bc0f

7 years agotest_vendor: Implement L2CAP packet fragmentation
jruthe [Thu, 8 Jun 2017 22:33:32 +0000 (15:33 -0700)]
test_vendor: Implement L2CAP packet fragmentation

Added functions to fragment an L2CAP packet into SDUs of variable size.

Test: Passes all of the tests in test/l2cap_test.cc
Change-Id: Id39042c32594c2e9f54e98def432f8d1655a3b41

7 years agoDo not delete pairing on HCI connection timeout
Andre Eisenbach [Tue, 18 Jul 2017 22:13:55 +0000 (15:13 -0700)]
Do not delete pairing on HCI connection timeout

Change-Id: I67121f3f6d34cd82e243af11ecd735684c4ca67d
Fixes: 63796670
Test: manual

7 years agotest_vendor: Add LOG_DEBUG to L2cap::assemble
jruthe [Mon, 17 Jul 2017 23:27:18 +0000 (23:27 +0000)]
test_vendor: Add LOG_DEBUG to L2cap::assemble
am: 8d604d6ab0

Change-Id: I2220cab6e3a1348d0bdf640e941b11d3f2600b3c

7 years agotest_vendor: Add LOG_DEBUG to L2cap::assemble
jruthe [Mon, 17 Jul 2017 18:27:35 +0000 (11:27 -0700)]
test_vendor: Add LOG_DEBUG to L2cap::assemble

Test: compiles
Change-Id: I8753215d00610dfe3ef43a09108362f94402c941

7 years agotest_vendor: Move SDU checks to L2capSdu
jruthe [Mon, 17 Jul 2017 17:46:47 +0000 (17:46 +0000)]
test_vendor: Move SDU checks to L2capSdu
am: 7d267611a4

Change-Id: I71c55861389356e6cf83ac335cfb558d954c0b6a

7 years agotest_vendor: Move SDU checks to L2capSdu
jruthe [Thu, 13 Jul 2017 23:56:25 +0000 (16:56 -0700)]
test_vendor: Move SDU checks to L2capSdu

Move functions that check the Segmentation and Reassembly bits of the
control field of SDU packets into the L2capSdu class from the
L2capPacket class.

Test: compiles
Change-Id: I0afc60fcf30d29b5021ddd9afa1c7320fca64969

7 years agoMerge "Add LEN_UUID_128 type check while build UUID seq"
liuchao [Mon, 17 Jul 2017 16:40:47 +0000 (16:40 +0000)]
Merge "Add LEN_UUID_128 type check while build UUID seq"
am: 48942c700e

Change-Id: I7cc27fba28afadfafe62b726af07eb37ecdba9b4

7 years agoMerge "Add LEN_UUID_128 type check while build UUID seq"
Treehugger Robot [Mon, 17 Jul 2017 16:31:23 +0000 (16:31 +0000)]
Merge "Add LEN_UUID_128 type check while build UUID seq"

7 years agoLinux build fix
Jakub Pawlowski [Sat, 15 Jul 2017 07:48:32 +0000 (07:48 +0000)]
Linux build fix
am: d3988fd73c

Change-Id: I6f284cdecd4a45dc1c23f218b42d2f472865ef66

7 years agoLinux build fix
Jakub Pawlowski [Sat, 15 Jul 2017 04:08:47 +0000 (21:08 -0700)]
Linux build fix

Test: build on linux using ninja
Change-Id: I3b0102814433ca88611fbc863271fe065d443c68

7 years agotest_vendor: Add L2cap and L2capSdu assemble tests
johnshamoon [Sat, 15 Jul 2017 04:05:19 +0000 (04:05 +0000)]
test_vendor: Add L2cap and L2capSdu assemble tests
am: 7552c35aec

Change-Id: Ibc8c535d8f5f366a47307eb2e782671fc8033533

7 years agotest_vendor: Add L2cap and L2capSdu assemble tests
johnshamoon [Tue, 13 Jun 2017 22:33:55 +0000 (15:33 -0700)]
test_vendor: Add L2cap and L2capSdu assemble tests

Test: Run the unit tests:
out/host/linux-x86/nativetest64/test-vendor_test_host/\
test-vendor_test_host --gtest_filter=L2capTest.*
Change-Id: I89ff2e6bbcfb58c53d872bfef007e487c2f4e3ae

7 years agoMerge "Advertise data parser - allow zero padding at end of packet"
Jakub Pawlowski [Sat, 15 Jul 2017 00:31:36 +0000 (00:31 +0000)]
Merge "Advertise data parser - allow zero padding at end of packet"
am: c45e5d2dca

Change-Id: Ibaf9dfc4bc0ef9c8889be008daed9be24eaddf5d

7 years agoMerge "Advertise data parser - allow zero padding at end of packet"
Treehugger Robot [Sat, 15 Jul 2017 00:23:48 +0000 (00:23 +0000)]
Merge "Advertise data parser - allow zero padding at end of packet"

7 years agotest_vendor: L2cap Assemble additional error check
jruthe [Fri, 14 Jul 2017 22:55:26 +0000 (22:55 +0000)]
test_vendor: L2cap Assemble additional error check
am: 16995c3a50

Change-Id: I7eae4a86ff91426c76c2a51fa3fcdae0cfdfb4b9

7 years agoAdd LEN_UUID_128 type check while build UUID seq
liuchao [Wed, 12 Apr 2017 01:33:21 +0000 (09:33 +0800)]
Add LEN_UUID_128 type check while build UUID seq

Some devices send UUIDs of invalid lengths or the length is corrupted
because of other corruption and we should fail.

Test: mm -j8
Change-Id: I2fb808282b403be7a402228f01da43790997ad65

7 years agoAdvertise data parser - allow zero padding at end of packet
Jakub Pawlowski [Fri, 14 Jul 2017 22:37:57 +0000 (15:37 -0700)]
Advertise data parser - allow zero padding at end of packet

Test: AdvertiseDataParserTest
Bug: 63123881
Change-Id: I8be9e693de557951b1048840759b5658331e9b3b

7 years agotest_vendor: L2cap Assemble additional error check
jruthe [Tue, 11 Jul 2017 21:09:51 +0000 (14:09 -0700)]
test_vendor: L2cap Assemble additional error check

Assemble now properly checks the proposed length of a segmented SDU that
is given in the first packet of any segmented SDU in accordance with
Bluetooth Core Specification Version 4.2 Volume 3 Part A 3.3.2

Test: Passed in test/l2cap_test.cc
Change-Id: Idbbd1c014bac8928affab581118f73a7d9126824

7 years agotest_vendor: Rename L2cap class to L2capPacket
jruthe [Fri, 14 Jul 2017 02:33:12 +0000 (02:33 +0000)]
test_vendor: Rename L2cap class to L2capPacket
am: d930fac3df

Change-Id: I0be5142270dedcb774a2ba00ca1e670329d222b9

7 years agotest_vendor: Rename L2cap class to L2capPacket
jruthe [Thu, 13 Jul 2017 23:09:59 +0000 (16:09 -0700)]
test_vendor: Rename L2cap class to L2capPacket

Test: Compiles
Change-Id: I851d2af8bfeb906cee754531e72e94a832413194

7 years agoMerge "bt: fix sdp service name by removing NULL char"
Timm Korte [Thu, 13 Jul 2017 00:15:03 +0000 (00:15 +0000)]
Merge "bt: fix sdp service name by removing NULL char"
am: 2766da83df

Change-Id: I57de21a3a368cfc0312cce5498bb0beb70ae5cc2

7 years agoMerge "bt: fix sdp service name by removing NULL char"
Treehugger Robot [Thu, 13 Jul 2017 00:09:27 +0000 (00:09 +0000)]
Merge "bt: fix sdp service name by removing NULL char"

7 years agoMake GATT server code more readable
Jakub Pawlowski [Wed, 12 Jul 2017 22:55:28 +0000 (22:55 +0000)]
Make GATT server code more readable
am: b4e4799154

Change-Id: I4ef576808d9f258a45f3158a94f285035944f1cc

7 years agobt: fix sdp service name by removing NULL char
Timm Korte [Mon, 15 May 2017 06:30:00 +0000 (08:30 +0200)]
bt: fix sdp service name by removing NULL char

The Bluedroid stack uses a C string with terminating NULL char as a
service name. Since in BT, strings are TLV encoded (type, length,
value), this doesn't make sense.

Simple fix is to copy the string without the trailing NULL by
removing the "+1" after the strlen call when passing the string as
uint8_t array to the lower level functions.
The current behaviour keeps some older devices from being able to
connect to an Android providing a Serial Port profile due to having
the wrong service name (that is, including a NULL at the end instead
of the correct string).

Test: Checked against Linux BlueZ, which does not include this extra
null character.

Change-Id: I6a43024ff89ac09e4b2d2e5cfb407b6e9323f0bd
Signed-off-by: Timm Korte <timm.korte@gmail.com>
7 years agoMake GATT server code more readable
Jakub Pawlowski [Tue, 11 Jul 2017 22:36:48 +0000 (15:36 -0700)]
Make GATT server code more readable

Test: compilation test
Change-Id: Ia176d7a89ccb9590c80e5b6b8af5a3495bf2ab16

7 years agoMerge "test_vendor: Implement packet assembly for SDUs"
jruthe [Tue, 11 Jul 2017 21:22:51 +0000 (21:22 +0000)]
Merge "test_vendor: Implement packet assembly for SDUs"
am: 2dd6b59d57

Change-Id: If0995021d9201b91acaf49a891e2682e5a4f855e

7 years agoMerge "test_vendor: Implement packet assembly for SDUs"
Treehugger Robot [Tue, 11 Jul 2017 21:16:16 +0000 (21:16 +0000)]
Merge "test_vendor: Implement packet assembly for SDUs"

7 years agoGATT: Expose opportunistic client API to Java
Jack He [Tue, 11 Jul 2017 20:24:11 +0000 (20:24 +0000)]
GATT: Expose opportunistic client API to Java
am: 5120fedf20

Change-Id: I96347363962687799e5ca56feefc40eef56ae7e2

7 years agotest_vendor: Implement packet assembly for SDUs
jruthe [Thu, 8 Jun 2017 22:33:32 +0000 (15:33 -0700)]
test_vendor: Implement packet assembly for SDUs

Created l2cap.* and l2cap_sdu.* for assembling an L2CAP packet from a
stream of SDU packets.

Test: Passed all tests in l2cap_test.cc and l2cap_sdu_test.cc
Change-Id: I64487ee67170b1dd4eda9555321b1ecf7ed57040

7 years agoGATT: Expose opportunistic client API to Java
Jack He [Thu, 29 Jun 2017 20:58:47 +0000 (13:58 -0700)]
GATT: Expose opportunistic client API to Java

* Opportunistic GATT connection allows system service to subscribe to
  characteristic notifications without holding the BLE connection
* Exposing this flag to Java allows Android applications to use it

Bug: 35874078
Test: make, test on Android App
Change-Id: Ic470acd63bf45d1c33696abed1e93b30746fb7a2

7 years agoMerge "Mark libbluetooth-types as vendor_available"
Jiyong Park [Fri, 7 Jul 2017 06:33:15 +0000 (06:33 +0000)]
Merge "Mark libbluetooth-types as vendor_available"
am: 29f359181a

Change-Id: Ic63d5ccafceb91f2eddf3a41c8a3b8be6d200b0c

7 years agoMerge "Mark libbluetooth-types as vendor_available"
Treehugger Robot [Fri, 7 Jul 2017 06:27:41 +0000 (06:27 +0000)]
Merge "Mark libbluetooth-types as vendor_available"

7 years agoDo not delete device record on HCI_ERR_KEY_MISSING
Jinguang Dong [Fri, 7 Jul 2017 06:02:43 +0000 (06:02 +0000)]
Do not delete device record on HCI_ERR_KEY_MISSING
am: 549ec693c2

Change-Id: I8c9ea5fad01fbb68b9f7067f7682cc9cd870daa2

7 years agoDo not delete device record on HCI_ERR_KEY_MISSING
Jinguang Dong [Wed, 28 Jun 2017 01:50:37 +0000 (09:50 +0800)]
Do not delete device record on HCI_ERR_KEY_MISSING

If an auth_complete event is received with HCI_ERR_KEY_MISSING, the
p_dev_rec->sm4 flag will be set to "BTM_SM4_UNKNOWN" in the
BTM_SecClearSecurityFlags() function. This will prevent the
BTM_SM4_RETRY procedure from being executed, which can cause
pairing failures.

To reproduce:
 1. Two Phones, A: Android O, B: Android N.
 2. Enable B in Bluetooth visable mode
 3. A start discovery and create pairing with B successfully
 4. B cancel pairing with A by remove A from pairing device
    list of B.
 5. A create paring with B again by touch paired device in A,
    this first step will be failed.

Bug: 62615213
Test: manual
Change-Id: I514ba2f4d0fd2621c11bd83aeec24b8c6c6d2d5a
Signed-off-by: Yequan Song <songyequan@huawei.com>
7 years agoMark libbluetooth-types as vendor_available
Jiyong Park [Fri, 7 Jul 2017 04:29:16 +0000 (13:29 +0900)]
Mark libbluetooth-types as vendor_available

libbluetooty-types is used by a vendor module
android.hardware.bluetooth@1.0-service.sim, thus marking it as
vendor_available so that the lib is allowed for the HAL service when
building with BOARD_VNDK_VERSION.

Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j
android.hardware.bluetooth@1.0-service.sim

Change-Id: I39d071fc249ce6842e7175751abd6249b9367231

7 years agoMerge "Merge "Make RawAddress into a class (1/3)" am: 4a1fc85744" into stage-aosp...
Android Build Merger (Role) [Fri, 7 Jul 2017 01:37:41 +0000 (01:37 +0000)]
Merge "Merge "Make RawAddress into a class (1/3)" am: 4a1fc85744" into stage-aosp-master

7 years agoMerge "Make RawAddress into a class (1/3)"
Jakub Pawlowski [Fri, 7 Jul 2017 01:36:41 +0000 (01:36 +0000)]
Merge "Make RawAddress into a class (1/3)"
am: 4a1fc85744

Change-Id: I61d249aa17044cd55b6834bc9563f648362621b6

7 years agoMerge "Make RawAddress into a class (1/3)"
Jakub Pawlowski [Fri, 7 Jul 2017 01:35:36 +0000 (01:35 +0000)]
Merge "Make RawAddress into a class (1/3)"
am: 4a1fc85744

Change-Id: I05b23ab3aff4d61dd8b04a3f011e832305203ce5

7 years agoMerge "Make RawAddress into a class (1/3)"
Treehugger Robot [Fri, 7 Jul 2017 01:29:30 +0000 (01:29 +0000)]
Merge "Make RawAddress into a class (1/3)"

7 years agoMerge "Remove unused BDADDR definitions am: 525e743277" into stage-aosp-master
Android Build Merger (Role) [Thu, 6 Jul 2017 22:56:40 +0000 (22:56 +0000)]
Merge "Remove unused BDADDR definitions am: 525e743277" into stage-aosp-master

7 years agoRemove unused BDADDR definitions
Myles Watson [Thu, 6 Jul 2017 22:56:19 +0000 (22:56 +0000)]
Remove unused BDADDR definitions
am: 525e743277

Change-Id: I211d82d42a53fe9bb2a6b930c7d99d5187b4f850

7 years agoRemove unused BDADDR definitions
Myles Watson [Thu, 6 Jul 2017 22:56:14 +0000 (22:56 +0000)]
Remove unused BDADDR definitions
am: 525e743277

Change-Id: I13b1c9dd558bf8662f5f9af0008df0740ec333ae

7 years agoMake RawAddress into a class (1/3)
Jakub Pawlowski [Mon, 3 Jul 2017 22:39:36 +0000 (15:39 -0700)]
Make RawAddress into a class (1/3)

* Add libbluetooth-types - library containing types implementation, that
is common between stystem/bt and packages/apps/Bluetooth. It must be
included in every project using btif interface.
* Put Raw Address implementation into libbluetooth-types
* Unify all "to/from string" helper methods into ToString and FromString
* bd_addr_empty -> RawAddress::kEmpty
* bd_addr_any -> RawAddress::kAny

Also fix leaks in jni str2addr by adding ReleaseStringUTFChars

Test: types_unittest
Change-Id: Ie0694843ad5fbd2a80b310c5f532e5e5a9548043
Merged-In: Ie0694843ad5fbd2a80b310c5f532e5e5a9548043

7 years agoRemove unused BDADDR definitions
Myles Watson [Wed, 28 Jun 2017 17:28:47 +0000 (10:28 -0700)]
Remove unused BDADDR definitions

The code that used these moved to the HAL.

Test: build
Change-Id: I4a25b525ff60c060143ea913c800c4dea8f676e1

7 years agoMerge "Remove bta_closure in favor of posting messages to a message loop"
Ajay Panicker [Thu, 6 Jul 2017 17:41:54 +0000 (17:41 +0000)]
Merge "Remove bta_closure in favor of posting messages to a message loop"
am: 1c6f5e6a5c

Change-Id: I8a90de11fea85a01747d35e655e24d9c3f0ad41b

7 years agoMerge "Remove bta_closure in favor of posting messages to a message loop"
Treehugger Robot [Thu, 6 Jul 2017 17:39:05 +0000 (17:39 +0000)]
Merge "Remove bta_closure in favor of posting messages to a message loop"

7 years agoMerge "Add missing lock protection when freeing RFCOMM port queues"
Pavlin Radoslavov [Thu, 6 Jul 2017 17:32:43 +0000 (17:32 +0000)]
Merge "Add missing lock protection when freeing RFCOMM port queues"
am: ea5319f3e0

Change-Id: Idee0119a6aae76df40a65d91618fe42130768f65

7 years agoMerge "Add missing lock protection when freeing RFCOMM port queues"
Treehugger Robot [Thu, 6 Jul 2017 17:19:53 +0000 (17:19 +0000)]
Merge "Add missing lock protection when freeing RFCOMM port queues"

7 years agoMerge "Merge "A2DP: Add mandatory elements for SBC SRC capabilities" am: e0a0913672...
Android Build Merger (Role) [Thu, 6 Jul 2017 02:10:53 +0000 (02:10 +0000)]
Merge "Merge "A2DP: Add mandatory elements for SBC SRC capabilities" am: e0a0913672" into stage-aosp-master

7 years agoMerge "A2DP: Add mandatory elements for SBC SRC capabilities"
koh.changseok [Thu, 6 Jul 2017 02:10:46 +0000 (02:10 +0000)]
Merge "A2DP: Add mandatory elements for SBC SRC capabilities"
am: e0a0913672

Change-Id: I28432a70beeb57771174a32edeb0629d97200bfc

7 years agoMerge "A2DP: Add mandatory elements for SBC SRC capabilities"
koh.changseok [Thu, 6 Jul 2017 02:10:36 +0000 (02:10 +0000)]
Merge "A2DP: Add mandatory elements for SBC SRC capabilities"
am: e0a0913672

Change-Id: I018b14e6c7a1849da743ce19db053265e19af890

7 years agoMerge "A2DP: Add mandatory elements for SBC SRC capabilities"
Treehugger Robot [Thu, 6 Jul 2017 01:47:24 +0000 (01:47 +0000)]
Merge "A2DP: Add mandatory elements for SBC SRC capabilities"

7 years agoMerge "Don't initiate role switch for blacklisted devices"
Srinu Jella [Thu, 6 Jul 2017 00:23:52 +0000 (00:23 +0000)]
Merge "Don't initiate role switch for blacklisted devices"
am: 14eac9efa0

Change-Id: I87ffd1fcd4ff76c702eb895a528598c585aeaebb

7 years agoMerge "Don't initiate role switch for blacklisted devices"
Treehugger Robot [Thu, 6 Jul 2017 00:19:02 +0000 (00:19 +0000)]
Merge "Don't initiate role switch for blacklisted devices"

7 years agoAdd missing lock protection when freeing RFCOMM port queues
Pavlin Radoslavov [Sat, 1 Jul 2017 04:25:15 +0000 (21:25 -0700)]
Add missing lock protection when freeing RFCOMM port queues

Bug: 63100223
Test: Code compilation
Change-Id: Ibbafb9586e9807688276c9eb2f6399cb3ee487c9

7 years agoMerge "Generic Bluetooth HAL for standard Linux hci interface"
Satish Patel [Wed, 5 Jul 2017 23:33:23 +0000 (23:33 +0000)]
Merge "Generic Bluetooth HAL for standard Linux hci interface"
am: 6c34c8adc1

Change-Id: I0b2b523f8467b3f0cebbe96d997416baadf48cc7

7 years agoMerge "Generic Bluetooth HAL for standard Linux hci interface"
Treehugger Robot [Wed, 5 Jul 2017 23:27:33 +0000 (23:27 +0000)]
Merge "Generic Bluetooth HAL for standard Linux hci interface"

7 years agoA2DP: Add mandatory elements for SBC SRC capabilities
koh.changseok [Mon, 3 Jul 2017 17:37:42 +0000 (02:37 +0900)]
A2DP: Add mandatory elements for SBC SRC capabilities

* The SBC items below are mandatory for SBC SRC capabilities
(see A2DP_SPEC_V13.pdf, Section 4.3.2):
 - Channel Mode - mono
 - Block Length - 4, 8, 12, 16
* Updated/fixed the corresponding unit tests

Bug: 63260735
Test: Manual - A2DP SBC streaming
Change-Id: I04c4f0b830411bc736d7c402b86006c182af02e7

7 years agoRemove bta_closure in favor of posting messages to a message loop
Ajay Panicker [Wed, 5 Jul 2017 20:20:53 +0000 (13:20 -0700)]
Remove bta_closure in favor of posting messages to a message loop

Test: Sanity test with Bluetooth
Change-Id: Ifda27a3bd88d82f884c4d8af6383f1c692b69e85

7 years agoDynamic blacklist device for role switch
Srinu Jella [Wed, 5 Jul 2017 21:40:42 +0000 (21:40 +0000)]
Dynamic blacklist device for role switch
am: 942648ef5a

Change-Id: I95da63d1e6cc3952e53fcdb78760b86b27e6f4a9

7 years agoGeneric Bluetooth HAL for standard Linux hci interface
Satish Patel [Wed, 28 Jun 2017 01:35:19 +0000 (18:35 -0700)]
Generic Bluetooth HAL for standard Linux hci interface

This acts as common interface for bluetooth devices (including
USB ones) using the standard Linux bluetooth hci interface.

Much of this code is pulled from hardware/interface/bluetooth
and system/bt/vendor_libs/linux.

Original code used from "system/bt/vendor_libs/linux" was from:
Samuel Ortiz <sameo@linux.intel.com>
Cristian Iorga <cristian.iorga@intel.com>
Pavlin Radoslavov <pavlin@google.com>
Jakub Pawlowski <jpawlowski@google.com>
Myles Watson <mylesgw@google.com>

Orginal code taken from hardware/interface/bluetooth was
contributed by:
Myles Watson <mylesgw@google.com>
Zach Johnson <zachoverflow@google.com>
Treehugger Robot <treehugger-gerrit@google.com>

Tested:
Hikey + on board bluetooth and Hikey + USB bluetooth dongle

Change-Id: I03da10cadfae6ffb298cfccc98e3337ab7db1967
Signed-off-by: Satish Patel <satish.patel@linaro.org>
[jstultz: Migrated code back to system/bt/vendor_libs/linux/.
 Included required sepolicy changes. Reworded and simplified
 commit message. ]
Signed-off-by: John Stultz <john.stultz@linaro.org>
7 years agoDon't initiate role switch for blacklisted devices
Srinu Jella [Wed, 7 Dec 2016 13:46:31 +0000 (19:16 +0530)]
Don't initiate role switch for blacklisted devices

Some devices always reject role switches and role switch
retries from the DUT may lead to A2DP glitches and LMP timeouts.

Test: manual
Bug: 33000157
Change-Id: I535a2c45ced0e14cf5530f78f3367569b306b1f4

7 years agoDynamic blacklist device for role switch
Srinu Jella [Thu, 8 Dec 2016 13:33:20 +0000 (19:03 +0530)]
Dynamic blacklist device for role switch

- Blacklist the device if it's rejected the role switch for
   max number of times. Same is added to the interop_database.

- Maximum number of failed (BTM_MAX_SW_ROLE_FAILED_ATTEMPTS)
  attempts set to 3 and it is configurable.

- Same blacklisted device is referred by the BTM module when
  any other module like profile is requesting for role switch
  and BTM module returns BTM_REPEATED_ATTEMPTS as the switch
  role status.

Test: Code compilation
Bug: 32999957
Change-Id: Ie999104a2c8ca507605ef3e1d454865cee98dcd2

7 years agoMerge "Add stdint.h for uint*_t types"
Jiyong Park [Sun, 2 Jul 2017 03:43:21 +0000 (03:43 +0000)]
Merge "Add stdint.h for uint*_t types"
am: ca6aea976d

Change-Id: I6bff96fd99d2091a34ade1101350fc798e2ba574

7 years agoMerge "Add stdint.h for uint*_t types"
Treehugger Robot [Sun, 2 Jul 2017 03:38:39 +0000 (03:38 +0000)]
Merge "Add stdint.h for uint*_t types"

7 years agoRead the correct amount of attributes
Scott Bauer [Sat, 1 Jul 2017 01:36:40 +0000 (01:36 +0000)]
Read the correct amount of attributes
am: 972c885cc9

Change-Id: I01cb7b412650c7d0e97646539b3b86a5166f4d84

7 years agoMerge changes from topic 'refactor_register'
Colin Cross [Fri, 30 Jun 2017 22:55:44 +0000 (22:55 +0000)]
Merge changes from topic 'refactor_register'
am: 50e621f219

Change-Id: Ib9198bb482da3b67dcbeb1b517374643c14f4b45

7 years agogofmt -w build/fluoride.go
Colin Cross [Fri, 30 Jun 2017 22:55:34 +0000 (22:55 +0000)]
gofmt -w build/fluoride.go
am: 2cf6e71b0a

Change-Id: Iaec2ee79f8930db7a75b8e8fc9c7434de0233a93

7 years agoRead the correct amount of attributes
Scott Bauer [Fri, 7 Apr 2017 00:35:40 +0000 (18:35 -0600)]
Read the correct amount of attributes

bta_gattc_cache_load currently attempts to read 0xFF attributes into an
allocation sized to num_attr attributes, which can be smaller than 0xFF.

There aren't more than num_attr bytes in correct data, but this breaks
with dynamic buffer overflow checking in CopperheadOS for the read
system call since fread ends up calling read, which obtains the size of
the allocation from the malloc implementation and then aborts due to the
(potential) overflow.

This would also fail with the default enabled _FORTIFY_SOURCE=2 feature
in the Android Open Source Project if osi_malloc was marked with the
alloc_size attribute. The way it wraps malloc loses that information so
fortify checks aren't done for calls like this.

Change-Id: I68bd170d5378c9d9d21cbda376083bc0b857e15c
Signed-off-by: Scott Bauer <sbauer@plzdonthack.me>
[migrated to C++ file, added 0xFFFF limit and wrote commit message]
Signed-off-by: Daniel Micay <danielmicay@gmail.com>
7 years agoMerge changes from topic 'refactor_register'
Treehugger Robot [Fri, 30 Jun 2017 21:09:12 +0000 (21:09 +0000)]
Merge changes from topic 'refactor_register'

* changes:
  Refactor module registration
  gofmt -w build/fluoride.go

7 years agoAdd stdint.h for uint*_t types
Jiyong Park [Tue, 27 Jun 2017 11:51:53 +0000 (20:51 +0900)]
Add stdint.h for uint*_t types

Mising stdint.h causes problem when building with BOARD_VNDK_VERSION,
where global include path is not provided.

Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j libbt-vendor
Change-Id: I55786baed229a3c9b4282816081a503d18a5a6f0

7 years agoAllow full dev consolidation after pairing
Nitin Arora [Fri, 30 Jun 2017 05:14:00 +0000 (05:14 +0000)]
Allow full dev consolidation after pairing
am: 76eba3ad19

Change-Id: I4f118649f780a5302b69fdcfd0fc19793af730a4

7 years agoAllow full dev consolidation after pairing
Nitin Arora [Sat, 13 Aug 2016 00:48:11 +0000 (17:48 -0700)]
Allow full dev consolidation after pairing

When BR/EDR and LE RPA device records are present
in the device records and the same remote device is
paired on a new RPA, the device consolidation happens
after the IRK is received. The current consolidation
breaks out of the loop after consolidating one device
record. In such cases, BR dev record is left and when
BR link key is derived, it gets updated in a separate
device record. Since two device records are present at
the same time for the same remote, the keys and static
addresses get picked up from incorrect node and issues
such as "remove device from resolving list seen with {0}
static address" are seen.

The fix includes allowing the host to complete
the consolidation for all device records rather than
breaking at the fist match.

Change-Id: Ic8ea4b831a7ba971eb6a0f54573934a6079b45d5

7 years agoBluetooth - Add tracing for TX queue and LDAC ABR
Philip Cuadra [Thu, 29 Jun 2017 23:27:08 +0000 (23:27 +0000)]
Bluetooth - Add tracing for TX queue and LDAC ABR
am: c02b5d4d68

Change-Id: Id2281ab270ee6e0a0d8416ce8d8cbff689838448

7 years agoBluetooth - Add tracing for TX queue and LDAC ABR
Philip Cuadra [Fri, 9 Jun 2017 21:36:06 +0000 (14:36 -0700)]
Bluetooth - Add tracing for TX queue and LDAC ABR

For debugging, add tracing to show the length of the TX queue and the
LDAC ABR level.

Test:  Ran bluetooth, took a systrace

Change-Id: Ia23764d68f27ae8209e37c4a0836852d73cf6cbc

7 years agoRename bt_bdaddr_t into RawAddress (3/3)
Jakub Pawlowski [Thu, 29 Jun 2017 07:09:30 +0000 (07:09 +0000)]
Rename bt_bdaddr_t into RawAddress (3/3)
am: a484a88819

Change-Id: I43e5e71569281683c0a33000746e235391420714

7 years agoRename bt_bdaddr_t into RawAddress (3/3)
Jakub Pawlowski [Sun, 25 Jun 2017 00:30:18 +0000 (17:30 -0700)]
Rename bt_bdaddr_t into RawAddress (3/3)

Test: compilation test
Change-Id: I4571721a0c6165a66450ee157a53d8d15bfc45d0

7 years agoMerge "Get rid of BD_ADDR (again)"
Jakub Pawlowski [Wed, 28 Jun 2017 21:44:01 +0000 (21:44 +0000)]
Merge "Get rid of BD_ADDR (again)"
am: abc4a993c8

Change-Id: Ic4da09c13391f7b13ce3797b42188c6b9ce1289a

7 years agoMerge "Get rid of BD_ADDR (again)"
Treehugger Robot [Wed, 28 Jun 2017 21:36:09 +0000 (21:36 +0000)]
Merge "Get rid of BD_ADDR (again)"

7 years agoSet the A2DP media channel as a high priority L2CAP link
Ben YoungTae Kim [Wed, 28 Jun 2017 20:23:25 +0000 (20:23 +0000)]
Set the A2DP media channel as a high priority L2CAP link
am: 624ba681a6

Change-Id: Ie43bd0c37d05bbe8ad3072a2918b4a500635bbfd

7 years agoGet rid of BD_ADDR (again)
Jakub Pawlowski [Wed, 28 Jun 2017 19:04:53 +0000 (12:04 -0700)]
Get rid of BD_ADDR (again)

BD_ADDR and BD_ADDR_LEN were defined multiple times. Get rid of the
redefiniton.

Test: compilation test
Change-Id: Ib6e922ce88132045c13ddc28d681a0f673d87407

7 years agoSet the A2DP media channel as a high priority L2CAP link
Ben YoungTae Kim [Tue, 20 Jun 2017 13:56:08 +0000 (19:26 +0530)]
Set the A2DP media channel as a high priority L2CAP link

Use dynamic ACL buffer allocation for high priority links:
1. Ensure dedicated ACL buffers for high priority links
2. Adjust buffer allocation if the priority of the link changes

Test: Manually tested with 4 HID devices and A2DP streaming scenario
Bug: 30787081
Change-Id: Id3c4a76e360aee322e9f8073bd399807e7987990

7 years agoLE State simplification
Jakub Pawlowski [Wed, 28 Jun 2017 01:53:15 +0000 (01:53 +0000)]
LE State simplification
am: 5e43c8035c

Change-Id: I61a1cad20efa6eba7ba737458850c0b985eb3725

7 years agoLE State simplification
Jakub Pawlowski [Tue, 27 Jun 2017 00:22:35 +0000 (17:22 -0700)]
LE State simplification

Test: sl4a GattReadTest
Change-Id: I53d9b9a25f39b06e3593311ed9af5b1df10637ed

7 years agoMerge "Fix a inappropriate return of local var address"
Marie Janssen [Tue, 27 Jun 2017 23:00:35 +0000 (23:00 +0000)]
Merge "Fix a inappropriate return of local var address"
am: 7aefc01942

Change-Id: I6adc54b4d905322e865ea8e455f52c3a2012b944

7 years agoMerge "Fix a inappropriate return of local var address"
Marie Janssen [Tue, 27 Jun 2017 22:51:08 +0000 (22:51 +0000)]
Merge "Fix a inappropriate return of local var address"

7 years agoHCI feature/command support check simplification
Jakub Pawlowski [Tue, 27 Jun 2017 22:03:30 +0000 (22:03 +0000)]
HCI feature/command support check simplification
am: ec9f2f5ed0

Change-Id: I64cf6631447711660567cfdb8e65ee3f6572ebfd

7 years agoFix a inappropriate return of local var address
liuchao [Fri, 5 May 2017 03:04:33 +0000 (11:04 +0800)]
Fix a inappropriate return of local var address

Local variable address is returned through giving to
"p_db->p_attrs", which needs to be available after
returned from the function.

Test: mm -j8
Change-Id: I68744d0c925e3ea384a07ad6491fe831d59ee2fd

7 years agoHCI feature/command support check simplification
Jakub Pawlowski [Mon, 26 Jun 2017 20:06:17 +0000 (13:06 -0700)]
HCI feature/command support check simplification

Don't use one-time long constants
Test: compilation test

Change-Id: Iaab8039269215b44608193290de4d140e1399e66

7 years agoRefactor module registration
Colin Cross [Tue, 27 Jun 2017 18:05:21 +0000 (11:05 -0700)]
Refactor module registration

Refactor module registration so that it doesn't need to separately
track properties.

Test: builds, no change to out/soong/build.ninja
Change-Id: I4215b710a37f53ea1d5664bb0f7abbd42d25a3e9

7 years agogofmt -w build/fluoride.go
Colin Cross [Tue, 27 Jun 2017 18:15:25 +0000 (11:15 -0700)]
gofmt -w build/fluoride.go

Test: builds
Change-Id: I158eff9274c97eb59e4e3a63a39d0d5df501cee4

7 years agoDon't send the LE Set Privacy Mode command if it's not supported
Jakub Pawlowski [Tue, 27 Jun 2017 00:36:09 +0000 (00:36 +0000)]
Don't send the LE Set Privacy Mode command if it's not supported
am: ba78601034

Change-Id: I18bcdfd58af00a6557871bee702b1ce8ad3bbe0e

7 years agoDon't send the LE Set Privacy Mode command if it's not supported
Jakub Pawlowski [Mon, 26 Jun 2017 18:26:46 +0000 (11:26 -0700)]
Don't send the LE Set Privacy Mode command if it's not supported

LE Set Privacy Mode is currently guarded by LE Privacy feature, which is
enabled on some 4.x controllers, that don't support LE Set Privcay Mode
that was added in 5.0 spec.

Bug: 62809491
Test: Turn Bluetooth on/off with Angler (4.x) and check for
      Set Privacy Mode
Change-Id: Ie9a164d98558db2e1fe76d90eb6ab93e4cec89d0

7 years agobtif: Pass UIDs changed up to the Java layer
Marie Janssen [Mon, 26 Jun 2017 22:01:14 +0000 (22:01 +0000)]
btif: Pass UIDs changed up to the Java layer
am: 57e508f56b

Change-Id: I0db73b5801afe6b72a438c0728273775cb14684b

7 years agobluetoothtbd common library reconfiguration
Jakub Pawlowski [Mon, 26 Jun 2017 22:00:26 +0000 (22:00 +0000)]
bluetoothtbd common library reconfiguration
am: 5f88533feb

Change-Id: I98a21c91355737f09c348f90098640870b507699