OSDN Git Service

android-x86/system-bt.git
7 years agoBluetooth 5 periodic scan (2/3)
Jakub Pawlowski [Thu, 30 Mar 2017 03:30:10 +0000 (03:30 +0000)]
Bluetooth 5 periodic scan (2/3)
am: f685bfb7b1

Change-Id: I36365df844aa015b9481c0f1fbfb6e8b5450e321

7 years agoBluetooth 5 periodic scan (2/3)
Jakub Pawlowski [Wed, 29 Mar 2017 21:28:43 +0000 (14:28 -0700)]
Bluetooth 5 periodic scan (2/3)

This patch wires calls/callbacks through stack to prepare for actual
implementation.

Test: manual
Bug: 30622771
Change-Id: Iac8c74a228f34f5ea4231a76848e22ea64f11d06

7 years agoMerge "Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()"
Pavlin Radoslavov [Wed, 29 Mar 2017 22:46:33 +0000 (22:46 +0000)]
Merge "Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()"
am: 14bf663fb4

Change-Id: I030c6950b56373b5eeb9a93eada8b4ea581f2434

7 years agoMerge "Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()"
Treehugger Robot [Wed, 29 Mar 2017 22:41:13 +0000 (22:41 +0000)]
Merge "Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()"

7 years agoMerge "test-vendor-lib: Enable building for 64 bits"
Jorge E. Moreira [Wed, 29 Mar 2017 20:12:00 +0000 (20:12 +0000)]
Merge "test-vendor-lib: Enable building for 64 bits"
am: 46bd270740

Change-Id: Ifa8b3d8d8201f6df80d6156e536137e93d90bd01

7 years agoMerge "test-vendor-lib: Enable building for 64 bits"
Treehugger Robot [Wed, 29 Mar 2017 20:08:25 +0000 (20:08 +0000)]
Merge "test-vendor-lib: Enable building for 64 bits"

7 years agoAdd new internal API: enableOptionalCodecs()/disableOptionalCodecs()
Pavlin Radoslavov [Fri, 24 Feb 2017 18:35:30 +0000 (10:35 -0800)]
Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()

This API can be used to enable the optional codecs, or disable them
and use only the mandatory SBC.
Internally, it is implemented by raising the SBC priority to
highest (so SBC will be used/selected), or reducing the SBC priority
to its default value (lowest).

Test: A2DP streaming and enabling/disabling/selecting optional codecs
Bug: 35873828
Change-Id: Ia1311d790441b7b5471c9fda7aeee8aa3306b16e

7 years agoAdd missing dependency on the Sony LDAC ABR library libldacBT_abr.so
Pavlin Radoslavov [Wed, 29 Mar 2017 06:18:10 +0000 (06:18 +0000)]
Add missing dependency on the Sony LDAC ABR library libldacBT_abr.so
am: e4f2b61567

Change-Id: I5b18f74c9f85d30b207ef41623d4adc2afc3abef

7 years agoAdd missing dependency on the Sony LDAC ABR library libldacBT_abr.so
Pavlin Radoslavov [Wed, 29 Mar 2017 01:40:32 +0000 (18:40 -0700)]
Add missing dependency on the Sony LDAC ABR library libldacBT_abr.so

Test: Code compilation
Bug: 35381097
Change-Id: Ib347319942aef4fef6bfd7edc23a4df004fc19fa

7 years agotest-vendor-lib: Enable building for 64 bits
Jorge E. Moreira [Mon, 27 Mar 2017 22:44:55 +0000 (15:44 -0700)]
test-vendor-lib: Enable building for 64 bits

Removes LOCAL_MODULE_PATH which is not supported for 64 bit builds.
Uses LOCAL_PROPRIETARY_MODULE to let the build system know it should
go in the vendor directory.

Test: builds
Change-Id: Iba55d497d8cbe97911a41a5623248306a8954ec2

7 years agoosi: Update error messages
Myles Watson [Tue, 28 Mar 2017 22:39:40 +0000 (22:39 +0000)]
osi: Update error messages
am: 1dc4b361dd

Change-Id: I82f5536a0b088f31d6f922bb671e16fce9f454d7

7 years agoosi: Update error messages
Myles Watson [Tue, 21 Mar 2017 17:28:20 +0000 (10:28 -0700)]
osi: Update error messages

Test: build
Change-Id: I5af34f01c47d8037d56c27e7e3fab3cc2f5fd2bc

7 years agoMerge "hci: Update error messages"
Myles Watson [Tue, 28 Mar 2017 20:41:15 +0000 (20:41 +0000)]
Merge "hci: Update error messages"
am: 09329eede8

Change-Id: I855deb3f27fa270b13ff61c1f5cea83a6767168d

7 years agoMerge "l2cap: Use CHECK for memory allocation errors"
Myles Watson [Tue, 28 Mar 2017 20:41:01 +0000 (20:41 +0000)]
Merge "l2cap: Use CHECK for memory allocation errors"
am: b8e1fbd04a

Change-Id: I7464be3483402908d397eda4220c295cbc165669

7 years agoMerge "hci: Update error messages"
Treehugger Robot [Tue, 28 Mar 2017 20:37:09 +0000 (20:37 +0000)]
Merge "hci: Update error messages"

7 years agoMerge "l2cap: Use CHECK for memory allocation errors"
Treehugger Robot [Tue, 28 Mar 2017 20:29:26 +0000 (20:29 +0000)]
Merge "l2cap: Use CHECK for memory allocation errors"

7 years agoMerge "BTA HF_CLIENT: Always reply to +BCS"
Sanket Agarwal [Tue, 28 Mar 2017 20:14:54 +0000 (20:14 +0000)]
Merge "BTA HF_CLIENT: Always reply to +BCS"
am: 04f88ffb6c

Change-Id: I71a088b4454333f767aa0d6b106320ad2d7a966c

7 years agoMerge "BTA HF_CLIENT: Always reply to +BCS"
Treehugger Robot [Tue, 28 Mar 2017 20:03:52 +0000 (20:03 +0000)]
Merge "BTA HF_CLIENT: Always reply to +BCS"

7 years agol2cap: Use CHECK for memory allocation errors
Myles Watson [Tue, 21 Mar 2017 17:16:44 +0000 (10:16 -0700)]
l2cap: Use CHECK for memory allocation errors

Test: LE connection
Change-Id: I43c170b40b125345b91e1c91a7993f0d138ac1c5

7 years agoBTA HF_CLIENT: Always reply to +BCS
Sanket Agarwal [Wed, 22 Feb 2017 19:55:34 +0000 (11:55 -0800)]
BTA HF_CLIENT: Always reply to +BCS

Phones don't like when we don't reply to +BCS codec-negotiation. We were
having this behavior because not always do we want to accept a
connection request over SCO. Instead of not replying to +BCS (which is
essentially a codec negotiation) we rather refuse the SCO request when
it comes in. This creates other issues such as some phones trying to
connect SCO in an infinite loop but it still keeps interoperability with
other devices such as iPhones and Microsoft phones intact

Bug: b/35469963
Bug: b/35431871
Bug: b/35419773

Test: SCO (Phone Audio) test with iPhone, Microsoft and Nexus phones

Change-Id: I5319edcb4da9d66c6d6b3a49742248c90dee98e6

7 years agohci: Update error messages
Myles Watson [Tue, 21 Mar 2017 17:21:15 +0000 (10:21 -0700)]
hci: Update error messages

Test: builds
Change-Id: I33544572122a166523a40dde090f276b102df247

7 years agoIntegration of LDAC Adaptive Bit Rate mechanism
fen wang [Tue, 28 Mar 2017 05:03:51 +0000 (05:03 +0000)]
Integration of LDAC Adaptive Bit Rate mechanism
am: dfc02a91a1

Change-Id: I5a82550e3f70768063f811c64b7d68e4a85e7ce6

7 years agoIntegration of LDAC Adaptive Bit Rate mechanism
fen wang [Wed, 15 Mar 2017 05:52:52 +0000 (14:52 +0900)]
Integration of LDAC Adaptive Bit Rate mechanism

LDAC ABR controls LDAC encoder bit rate based on A2DP transmit queue
length.
It can be used if the LDAC ABR library is installed on the device:
libldacBT_abr.so

Test: manual
Bug: 35381097
Change-Id: Idcc2fabe86acaf441f5a71f5d2bb66ad29252cdb

7 years agoAdd option to specify initial LE connection PHY (1/3)
Jakub Pawlowski [Mon, 27 Mar 2017 20:48:19 +0000 (20:48 +0000)]
Add option to specify initial LE connection PHY (1/3)
am: 96fb273d92

Change-Id: I083e1ef7f4fe6d958fb2f3d4d3faaffd02c2d3be

7 years agoAdd option to specify initial LE connection PHY (1/3)
Jakub Pawlowski [Sat, 25 Mar 2017 00:52:02 +0000 (17:52 -0700)]
Add option to specify initial LE connection PHY (1/3)

For whitelist connections we always use all possible PHYs, for direct
connection use PHY specified by client.

Test: manual
Bug: 30622771
Change-Id: I720f134e2800dc3d282135bb7ffbe3882117c680

7 years agoMerge "btm_sec: p_name fails matching security records"
Zach Johnson [Fri, 24 Mar 2017 21:22:08 +0000 (21:22 +0000)]
Merge "btm_sec: p_name fails matching security records"
am: e9082e66c2

Change-Id: Ia2c574d1a36f840045110d55a6d34fb89776890e

7 years agoMerge "btm_sec: p_name fails matching security records"
Zach Johnson [Fri, 24 Mar 2017 21:19:30 +0000 (21:19 +0000)]
Merge "btm_sec: p_name fails matching security records"

7 years agoExpose connection update callback (1/3)
Jakub Pawlowski [Fri, 24 Mar 2017 20:36:43 +0000 (20:36 +0000)]
Expose connection update callback (1/3)
am: b5ba4fdbc4

Change-Id: I609d1fb2788c93ced5cf4a6afa302fed59543a6d

7 years agobtm_sec: p_name fails matching security records
Martin Brabham [Thu, 16 Feb 2017 23:06:30 +0000 (15:06 -0800)]
btm_sec: p_name fails matching security records

When doing a comparison on p_name that is passed in against
the p_name in the struct will never match if the passed in
name is >= 21 characters.  This is due to the strlcpy replacing
the last character with a null termination character.

Without this patch, you will observe 2 security records for
"Android Network Acce" (which is supposed to be "Android Network Access Point")

BTM_SEC_SERVCE_NAME_LEN = 21

                                                    21
passed in: |A|n|d|r|o|i|d| |N|e|t|w|o|r|k| |A|c|c|e|s|s| |P|o|i|n|t|
           ---------------------------------------------------------
structval: |A|n|d|r|o|i|d| |N|e|t|w|o|r|k| |A|c|c|e|\0|

Bug: 34707848
Test: Compile, Manual
Change-Id: I24e0204d8faf54545c7b720a0fbc6765db9a1295

7 years agoExpose connection update callback (1/3)
Jakub Pawlowski [Fri, 24 Mar 2017 01:11:04 +0000 (18:11 -0700)]
Expose connection update callback (1/3)

Test: manual
Bug: 30622771
Change-Id: I94d25f6f22b42fb1432a9288c97b82503d57db86

7 years agohci: Timestamp HCI commands for timeouts
Myles Watson [Fri, 24 Mar 2017 15:52:39 +0000 (15:52 +0000)]
hci: Timestamp HCI commands for timeouts
am: 17d3595cf1

Change-Id: Ic22314e4b18e8b405f96f38e93849ae2c3dbade8

7 years agohci: Timestamp HCI commands for timeouts
Myles Watson [Thu, 23 Mar 2017 21:34:40 +0000 (14:34 -0700)]
hci: Timestamp HCI commands for timeouts

Test: Start Bluetooth with COMMAND_PENDING_TIMOUT_MS=2
Change-Id: I393592ede7b9b0aab9c13f6c79756c24edd3d930

7 years agoSet preferred PHY and read PHY implementation (3/3)
Jakub Pawlowski [Fri, 24 Mar 2017 01:12:59 +0000 (01:12 +0000)]
Set preferred PHY and read PHY implementation (3/3)
am: eafd45d086

Change-Id: I59ac8486bd565062ebc5c5a9908100c834a0344c

7 years agoSet preferred PHY and read PHY implementation (3/3)
Jakub Pawlowski [Thu, 23 Mar 2017 02:00:47 +0000 (19:00 -0700)]
Set preferred PHY and read PHY implementation (3/3)

Test: manual
Bug: 30622771
Change-Id: I4267238a0b5c7bc373ae1846ebd19a716881a4ec

7 years agohci: Cancel timer before running callbacks
Myles Watson [Fri, 24 Mar 2017 00:02:14 +0000 (00:02 +0000)]
hci: Cancel timer before running callbacks
am: e7be6de450

Change-Id: I96b4b1d76a9354f2564296e8b607f507e69b59e8

7 years agohci: Cancel timer before running callbacks
Myles Watson [Thu, 23 Mar 2017 18:49:13 +0000 (11:49 -0700)]
hci: Cancel timer before running callbacks

Bug: 36507488
Test: Turn Bluetooth on/off, scan for devices
Change-Id: Ia9334d83b2191504acdab50f777b6d10073226e0

7 years agoMerge "Increase size of written bytes for snprintf for AT+BIND"
Ajay Panicker [Thu, 23 Mar 2017 20:52:30 +0000 (20:52 +0000)]
Merge "Increase size of written bytes for snprintf for AT+BIND"
am: fca1242cf1

Change-Id: I648cdddbc18cd94c0b2568082834b1142b666463

7 years agoMerge "Increase size of written bytes for snprintf for AT+BIND"
Treehugger Robot [Thu, 23 Mar 2017 20:47:55 +0000 (20:47 +0000)]
Merge "Increase size of written bytes for snprintf for AT+BIND"

7 years agoFix a race condition inside command_timed_out() when printing log info
Pavlin Radoslavov [Thu, 23 Mar 2017 20:46:46 +0000 (20:46 +0000)]
Fix a race condition inside command_timed_out() when printing log info
am: b77d7129b2

Change-Id: Ib3dd8f598b62b2706314fea6c3a17f0dac789425

7 years agoFix a race condition inside command_timed_out() when printing log info
Pavlin Radoslavov [Thu, 23 Mar 2017 19:24:57 +0000 (12:24 -0700)]
Fix a race condition inside command_timed_out() when printing log info

Release the lock after we don't need anymore access to the wait_entry
that was protected by the lock.
Note: We are keeping the lock right before restarting the Bluetooth
process, hence it doesn't matter we are holding it for a bit longer
than before.

Test: Code compilation
Change-Id: Id393a285fce9b9e28efcf0f55fcc32821c5a72b6

7 years agoMerge "AVRCP version interop pereference (1/3)"
Ajay Panicker [Thu, 23 Mar 2017 17:57:48 +0000 (17:57 +0000)]
Merge "AVRCP version interop pereference (1/3)"
am: 921f514bcf

Change-Id: Ia500beaee28b4c335be5367f8b3f8f564ac70e8e

7 years agoMerge "AVRCP version interop pereference (1/3)"
Treehugger Robot [Thu, 23 Mar 2017 17:49:56 +0000 (17:49 +0000)]
Merge "AVRCP version interop pereference (1/3)"

7 years agoMerge "main: Update error handling"
Myles Watson [Thu, 23 Mar 2017 13:26:01 +0000 (13:26 +0000)]
Merge "main: Update error handling"
am: 5d637bc524

Change-Id: I77b8d202d395d26fbc8a1ae664d7b1b090ff1ba8

7 years agoMerge "main: Update error handling"
Treehugger Robot [Thu, 23 Mar 2017 13:21:52 +0000 (13:21 +0000)]
Merge "main: Update error handling"

7 years agoIncrease size of written bytes for snprintf for AT+BIND
Ajay Panicker [Wed, 15 Feb 2017 20:23:35 +0000 (12:23 -0800)]
Increase size of written bytes for snprintf for AT+BIND

snprintf includes the null terminator for size of string to write to buffer.
Having a buffer size of one would only write a null terminator.

Bug: 35348420
Test: HFP Test with carkit
Change-Id: Id81abca562259371520b891e84ec76f6cb434b0c

7 years agoAVRCP version interop pereference (1/3)
Ajay Panicker [Sat, 18 Mar 2017 21:58:06 +0000 (14:58 -0700)]
AVRCP version interop pereference (1/3)

Add a mechanism to allow the user to select the AVRCP version broadcasted
through SDP in the developer options. This helps solve some interoperability
issues such as with Honda Carkits where broadcasting AVRCP version 1.6 causes
media metadata to fail.

Bug: 35956792
Test: Select AVRCP version through developer option
Merged-In: Ib55af4406131178846d38ef4da33fb72cb2cd02f
Change-Id: Ib55af4406131178846d38ef4da33fb72cb2cd02f

7 years agoReduce sniff intervals for active mode.
Ivan Podogov [Wed, 22 Mar 2017 00:26:42 +0000 (00:26 +0000)]
Reduce sniff intervals for active mode.
am: be6d6ce0ae

Change-Id: Icb81474e5702aaaacca9d4edcf273cd99e46a64f

7 years agoReduce sniff intervals for active mode.
Ivan Podogov [Tue, 3 Jan 2017 21:20:33 +0000 (21:20 +0000)]
Reduce sniff intervals for active mode.

According to the Bluetooth HID specification, a pointing device
should have a recommended report rate of approximately 80 Hz, and
sniff interval of 18 slots for the sniff subrating mode.
Current settings set the sniff interval to 54 slots, which is
aproximately 29.6 Hz - not really enough to emulate a mouse.

Test: with a pointing device app
Change-Id: Ic3365137bcf3f5608ada37fbfa0c3233f6ef83d7

7 years agomain: Update error handling
Myles Watson [Tue, 21 Mar 2017 17:24:20 +0000 (10:24 -0700)]
main: Update error handling

Test: builds
Change-Id: Ibc6b1d94f49bd711e7844ae769c384f76d357f22

7 years agoMerge "Add liblog dependency to libbt-vendor."
Alex Deymo [Mon, 20 Mar 2017 22:44:01 +0000 (22:44 +0000)]
Merge "Add liblog dependency to libbt-vendor."
am: cc7837d8d0

Change-Id: I4b9035bf3faad26a48020f78e05e5971d2b76248

7 years agoMerge "Add liblog dependency to libbt-vendor."
Treehugger Robot [Mon, 20 Mar 2017 22:35:18 +0000 (22:35 +0000)]
Merge "Add liblog dependency to libbt-vendor."

7 years agoBluetooth 5 AdvertisingSet implementation (4/4)
Jakub Pawlowski [Mon, 20 Mar 2017 22:27:00 +0000 (22:27 +0000)]
Bluetooth 5 AdvertisingSet implementation (4/4)
am: ff32af6dee

Change-Id: I053c63b9a109d62c0c7a22e5a4088bae39e4bf23

7 years agoReport back TX Power value
Jakub Pawlowski [Mon, 20 Mar 2017 22:26:55 +0000 (22:26 +0000)]
Report back TX Power value
am: 256afc4d84

Change-Id: If05533867f2f78762b42e8e68fdecc1eed3cb22f

7 years agoBluetooth 5 AdvertisingSet implementation (4/4)
Jakub Pawlowski [Sat, 18 Mar 2017 01:05:38 +0000 (18:05 -0700)]
Bluetooth 5 AdvertisingSet implementation (4/4)

Test: manual
Bug: 30622771
Change-Id: Ie1c1588383a83296cabd29a0481f7d80a1168263

7 years agoReport back TX Power value
Jakub Pawlowski [Fri, 17 Mar 2017 19:31:42 +0000 (12:31 -0700)]
Report back TX Power value

For LE Extended Advertising report the value returned by controller.
For VSC Advertising return the value send to controller.
For Legacy Advertising use 0.

Test: manual
Bug: 30622771
Change-Id: Ifc49af86e7f064c91ed2d20e6f87532159d1bffa

7 years agoDo not use Multi-Adv instance 0 in VSC
Jakub Pawlowski [Mon, 20 Mar 2017 22:11:16 +0000 (22:11 +0000)]
Do not use Multi-Adv instance 0 in VSC
am: 10661946cc

Change-Id: I76ca92cbc2161e44493df2f0ec329117f8ca0492

7 years agoDo not use Multi-Adv instance 0 in VSC
Jakub Pawlowski [Mon, 20 Mar 2017 17:33:25 +0000 (10:33 -0700)]
Do not use Multi-Adv instance 0 in VSC

Bug: 36365653
Test: manual
Change-Id: If44b2f0206bab91fa77f2a1ff68d83e1593f28e2

7 years agoMerge "Change default AVRCP version to 1.4"
Ajay Panicker [Mon, 20 Mar 2017 21:24:37 +0000 (21:24 +0000)]
Merge "Change default AVRCP version to 1.4"
am: 763839680f

Change-Id: I59aae13d6a7e8c61659a135861be0fb7e448fc72

7 years agoMerge "Change default AVRCP version to 1.4"
Treehugger Robot [Mon, 20 Mar 2017 21:19:05 +0000 (21:19 +0000)]
Merge "Change default AVRCP version to 1.4"

7 years agoAdd liblog dependency to libbt-vendor.
Alex Deymo [Mon, 20 Mar 2017 20:55:10 +0000 (13:55 -0700)]
Add liblog dependency to libbt-vendor.

lubcutils doesn't bundle liblog anymore. This fixes the build in boards
defining BOARD_HAVE_BLUETOOTH_LINUX.

Bug: None
Test: `make droid` in such board.
Change-Id: Ic9b7ba045c3a291eb33a606ffabc41c45c9ca3e2

7 years agoHIDD: Fix possible out-of-bounds error.
Ivan Podogov [Mon, 20 Mar 2017 19:13:04 +0000 (19:13 +0000)]
HIDD: Fix possible out-of-bounds error.
am: c6bce1a236

Change-Id: I9e7e79f35379ded213979b2d9ff4dce8f96e24ba

7 years agoChange default AVRCP version to 1.4
Ajay Panicker [Fri, 17 Mar 2017 22:10:34 +0000 (15:10 -0700)]
Change default AVRCP version to 1.4

Poor support for AVRCP 1.6 in many carkits means the default should be 1.4 until we can work out interop for different models.

Bug: 35956792
Test: Connect Phone to Honda Carkit and play music
Change-Id: Ie48ba3f045cca5edda49399d137f2f756be0ff8a

7 years agoHIDD: Fix possible out-of-bounds error.
Ivan Podogov [Mon, 20 Mar 2017 13:40:39 +0000 (13:40 +0000)]
HIDD: Fix possible out-of-bounds error.

Bug: 32282212
Test: manual
Change-Id: I6ca91bb8e278db9e4121f22567a27c175661b537

7 years agoBase classes should have virtual destructors
Pavlin Radoslavov [Sun, 19 Mar 2017 05:09:55 +0000 (05:09 +0000)]
Base classes should have virtual destructors
am: 110a4dc073

Change-Id: I4e009aac881b75926edb0789e1b605c5e136b6a7

7 years agoBase classes should have virtual destructors
Pavlin Radoslavov [Sun, 19 Mar 2017 02:24:05 +0000 (19:24 -0700)]
Base classes should have virtual destructors

Each base class in service/common/bluetooth now has a virtual
destructor. This fixes memory delete issues that were exposed
when running the unit tests with ASAN enabled.

Test: Running unit tests with ASAN enabled
Change-Id: Ie944eb80784de4ebac3c7276fabed6acb5fec6c0

7 years agoMerge "Abort using SIGABRT instead of SIGKILL on command_timeout"
Andre Eisenbach [Fri, 17 Mar 2017 19:24:55 +0000 (19:24 +0000)]
Merge "Abort using SIGABRT instead of SIGKILL on command_timeout"
am: 379743d738

Change-Id: If9fc37bed4dce4a1b1e0fbde3f81279f0a51fae1

7 years agoMerge "Abort using SIGABRT instead of SIGKILL on command_timeout"
Treehugger Robot [Fri, 17 Mar 2017 19:19:04 +0000 (19:19 +0000)]
Merge "Abort using SIGABRT instead of SIGKILL on command_timeout"

7 years agoDivide advertise data when needed
Jakub Pawlowski [Fri, 17 Mar 2017 19:10:35 +0000 (19:10 +0000)]
Divide advertise data when needed
am: 331c80117f

Change-Id: I2c2b37aa801d286ab4a6fb30cc3b03c543ad97fd

7 years agoBluetooth 5 Periodic Advertising
Jakub Pawlowski [Fri, 17 Mar 2017 19:10:23 +0000 (19:10 +0000)]
Bluetooth 5 Periodic Advertising
am: 2d5c21c031

Change-Id: Id03d1690500988ffd4442481837f5a0d57ce5e22

7 years agoDivide advertise data when needed
Jakub Pawlowski [Fri, 17 Mar 2017 05:10:32 +0000 (22:10 -0700)]
Divide advertise data when needed

Bug: 30622771
Test: BleAdvertisingManagerTest.test_data_sender
Change-Id: I447fed753b08cef766d99ea8dfa47b1212a9ce03

7 years agoBluetooth 5 Periodic Advertising
Jakub Pawlowski [Fri, 17 Mar 2017 00:15:47 +0000 (17:15 -0700)]
Bluetooth 5 Periodic Advertising

This patch implements the initialization of Bluetooth 5 advertising.

Bug: 30622771
Test: manual
Change-Id: If06a6c827f1d8097aa3f019b99ebcb3933742d6c

7 years agoAbort using SIGABRT instead of SIGKILL on command_timeout
Andre Eisenbach [Fri, 17 Mar 2017 04:58:53 +0000 (21:58 -0700)]
Abort using SIGABRT instead of SIGKILL on command_timeout

This will produce a stack trace and flag for automated crash reporting.

Bug: 36026072
Test: net_test_bluetooth; device off/on/off tests
Change-Id: I4d4380d61028261ba7bb4599e39993cae1d906a5

7 years agoLE Maximum Advertising Data Length (4/4)
Jakub Pawlowski [Fri, 17 Mar 2017 05:20:08 +0000 (05:20 +0000)]
LE Maximum Advertising Data Length (4/4)
am: 5a8a162d9e

Change-Id: I79f655cddeb49c7b1ac2482a3ae5617954f22706

7 years agoLE Maximum Advertising Data Length (4/4)
Jakub Pawlowski [Fri, 17 Mar 2017 01:19:20 +0000 (18:19 -0700)]
LE Maximum Advertising Data Length (4/4)

Add ability to check maximum advertising data length.

Bug: 30622771
Test: manual
Change-Id: I0f3c806046157633f8e2106c1b2700c4277a2b4d

7 years agoMerge "Use the correct tBTA_PAN type when copying the data in a callback"
Pavlin Radoslavov [Fri, 17 Mar 2017 04:06:02 +0000 (04:06 +0000)]
Merge "Use the correct tBTA_PAN type when copying the data in a callback"
am: b4939306df

Change-Id: I13409b3cf122f4cee8b3c5f43b6e9bba43f4d24c

7 years agoUse the correct buffer size when copying device inquiry response data
Pavlin Radoslavov [Fri, 17 Mar 2017 04:02:35 +0000 (04:02 +0000)]
Use the correct buffer size when copying device inquiry response data
am: ff8011811b

Change-Id: I6f21e24aacfc6736a3f872ec2675812d6bf3c167

7 years agoMerge "Use the correct tBTA_PAN type when copying the data in a callback"
Treehugger Robot [Fri, 17 Mar 2017 04:00:31 +0000 (04:00 +0000)]
Merge "Use the correct tBTA_PAN type when copying the data in a callback"

7 years agoUse the correct buffer size when copying device inquiry response data
Pavlin Radoslavov [Fri, 17 Mar 2017 02:09:31 +0000 (19:09 -0700)]
Use the correct buffer size when copying device inquiry response data

Bug: 36372989
Test: Running ASAN build
Change-Id: I6016e7609ba24db632222ff4613017e3be30b09c

7 years agoUse the correct tBTA_PAN type when copying the data in a callback
Pavlin Radoslavov [Fri, 17 Mar 2017 01:54:55 +0000 (18:54 -0700)]
Use the correct tBTA_PAN type when copying the data in a callback

This fixes stack-buffer-overflow issue found using ASAN.
Previously, the original data had type "struct tBTA_PAN_SET_ROLE"
and similar, and eventually "memcpy(..., sizeof(tBTA_PAN))" would
copy data beyond the end of the data buffer.

Bug: 36367964
Test: Running ASAN build
Change-Id: I47210a501378023168a0dd71381e93a5051a4c71

7 years agoBluetooth 5 AdvertisingSet implementation (3/4)
Jakub Pawlowski [Fri, 17 Mar 2017 01:09:12 +0000 (01:09 +0000)]
Bluetooth 5 AdvertisingSet implementation (3/4)
am: 16da9217c6

Change-Id: I17188b9a006152507093458e1c3d345a6f5682d5

7 years agoBluetooth 5 AdvertisingSet implementation (3/4)
Jakub Pawlowski [Sun, 12 Mar 2017 00:46:00 +0000 (16:46 -0800)]
Bluetooth 5 AdvertisingSet implementation (3/4)

This patch wires up fist methods of AdvertisingSet, making it possible
to start advertising and stop advertising. It also replaces legacy
implemementation with calls to new implementation.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I843d8fc12ba1928c87e256a0fb6d730c9fa200e6

7 years agoFix net_test_stack_multi_adv
Jakub Pawlowski [Fri, 17 Mar 2017 00:26:47 +0000 (00:26 +0000)]
Fix net_test_stack_multi_adv
am: 8c7d060149

Change-Id: I8877d55121300b99db4136f529279891a40cc3bf

7 years agoFix net_test_stack_multi_adv
Jakub Pawlowski [Thu, 16 Mar 2017 21:47:55 +0000 (14:47 -0700)]
Fix net_test_stack_multi_adv

Change-Id: Ic28aa4a120d973bbf3f05d8022bc2c2e619562e2

7 years agoFix an HCI race condition when transmitting a packet
Pavlin Radoslavov [Thu, 16 Mar 2017 19:49:56 +0000 (19:49 +0000)]
Fix an HCI race condition when transmitting a packet
am: bc9a9329b3

Change-Id: I070d2bf6f4de8caf35817f40cc1205cc6e943070

7 years agoFix an HCI race condition when transmitting a packet
Pavlin Radoslavov [Thu, 16 Mar 2017 11:54:21 +0000 (04:54 -0700)]
Fix an HCI race condition when transmitting a packet

There is a race condition when calling
event_command_ready() -> transmit_fragment() -> hci_transmit()

If right after hci_transmit() there is thread context switch
and another thread executes filter_incoming_event() for the same
command, the corresponding packet/command will be taken off the
commands_pending_response list and free()-ed.

However, after the execution on the first thread continues
within transmit_fragment(), the execution logic will continue using
the "packet" that was already free()-ed by the other thread.

To prevent this from happening, the "commands_pending_response_mutex"
within event_command_ready() has to protect the transmit_fragment()
execution and the update_command_response_timer() function right after it.

Also:
 * Changed the "commands_pending_response_mutex" to recursive_mutex
 * Added "commands_pending_response_mutex" protection in few other
   places where "commands_pending_response" itself is used.

Bug: 36205494
Test: Running ASAN build
Change-Id: I63677ad1f2b28683c321631e9e29e4f01628d269

7 years agotest_vendor: Stop watching before closing the FD
Myles Watson [Wed, 15 Mar 2017 22:37:02 +0000 (22:37 +0000)]
test_vendor: Stop watching before closing the FD
am: 01ce9e4233

Change-Id: I5c8efd21cfbaf45677a8e29c617852f7f10a768b

7 years agotest_vendor: Stop watching before closing the FD
Myles Watson [Wed, 15 Mar 2017 19:14:36 +0000 (12:14 -0700)]
test_vendor: Stop watching before closing the FD

Test: net_test_bluetooth BluetoothTest.AdapterRepeatedEnableDisable
Change-Id: I72f5c9105b535ad5a5c41bc15dc9a3ad5f4e023f

7 years agoFix bta_dm_act.cc compile error.
Alex Deymo [Wed, 15 Mar 2017 14:16:20 +0000 (14:16 +0000)]
Fix bta_dm_act.cc compile error.
am: 7651cfbe6a

Change-Id: Ie57643e2919cddb74151d471891c6eed93899103

7 years agoFix bta_dm_act.cc compile error.
Alex Deymo [Wed, 15 Mar 2017 07:16:58 +0000 (00:16 -0700)]
Fix bta_dm_act.cc compile error.

When BTM_LOCAL_IO_CAPS == BTM_IO_CAP_NONE the code fails to compile due
to a missing comma. This was introducted a couple of months ago by
2e8e9f42132d0297a94c0852a1fbf45c9bc348e5 but it went undetected.

This patch simply adds back the missing comma.

Bug: 35804180
Test: `make` on a device with BTM_LOCAL_IO_CAPS set to BTM_IO_CAP_NONE.
Change-Id: I0a924abec4fe6612c5dbb72416123ca391551523

7 years agoMerge "Add a log message in the beginning of function hci_initialize()"
Pavlin Radoslavov [Wed, 15 Mar 2017 01:14:12 +0000 (01:14 +0000)]
Merge "Add a log message in the beginning of function hci_initialize()"
am: e745f573f6

Change-Id: Ia9fa15a85c64c297b911449594b6daf5b8871c0e

7 years agoMerge "Add a log message in the beginning of function hci_initialize()"
Treehugger Robot [Wed, 15 Mar 2017 01:08:24 +0000 (01:08 +0000)]
Merge "Add a log message in the beginning of function hci_initialize()"

7 years agoParse extended advertising packets
Jakub Pawlowski [Wed, 15 Mar 2017 01:05:04 +0000 (01:05 +0000)]
Parse extended advertising packets
am: d6d64b11e1

Change-Id: I05c290d1d441f56eac28ffdff8ed7b4795061dc3

7 years agoAdd "LE Remove Advertising Set Command"
Jakub Pawlowski [Wed, 15 Mar 2017 00:50:52 +0000 (00:50 +0000)]
Add "LE Remove Advertising Set Command"
am: bb858fbf93

Change-Id: I3157d266f0e454bcc46a10b4e7cea9f2018179c9

7 years agoParse extended advertising packets
Jakub Pawlowski [Mon, 13 Mar 2017 23:09:35 +0000 (16:09 -0700)]
Parse extended advertising packets

Test: manual
Bug: 30622771
Change-Id: I286b8d636115385ee5951284629a1894026d9b5b

7 years agoAdd a log message in the beginning of function hci_initialize()
Pavlin Radoslavov [Sat, 11 Mar 2017 04:51:45 +0000 (20:51 -0800)]
Add a log message in the beginning of function hci_initialize()

Bug: 36043456
Test: Code compilation
Change-Id: Ib588c95a64100f5b2b3567f1bac9fe5e9160e4c0

7 years agoAdd "LE Remove Advertising Set Command"
Jakub Pawlowski [Sun, 12 Mar 2017 00:40:52 +0000 (16:40 -0800)]
Add "LE Remove Advertising Set Command"

Bug: 30622771
Test: manual
Change-Id: Ie0df73475359c69af8df672454fe0c0374523c88

7 years agohci: Stop the thread before hci_close()
Myles Watson [Tue, 14 Mar 2017 20:59:47 +0000 (20:59 +0000)]
hci: Stop the thread before hci_close()
am: e986c934fd

Change-Id: I639ddc9eb768a260186e06ea03d49c1d2c76f929

7 years agohci: Stop the thread before hci_close()
Myles Watson [Tue, 14 Mar 2017 18:58:10 +0000 (11:58 -0700)]
hci: Stop the thread before hci_close()

Bug:36026072
Test: Switch users (toggle Bluetooth under load)
Change-Id: I3fb901b5c47021c708c1fb548858406225065d00

7 years agoLE Periodic Advertising - advertiser interface
Lakshmipathi K [Mon, 13 Mar 2017 19:50:50 +0000 (19:50 +0000)]
LE Periodic Advertising - advertiser interface
am: 8e774d1c53

Change-Id: I36db1a34639b5cb8deb5ad9a82439ebad15ed038

7 years agoLE Periodic Advertising - advertiser interface
Lakshmipathi K [Mon, 13 Mar 2017 17:35:12 +0000 (10:35 -0700)]
LE Periodic Advertising - advertiser interface

Bug: 30622771
Test: manual
Change-Id: I358b872c9ffb52f007db4f111520c05b9521aa7f