OSDN Git Service

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

7 years agoMerge "Bluetooth 5 feature check implementation (1/3)"
Jakub Pawlowski [Sat, 11 Mar 2017 02:13:22 +0000 (02:13 +0000)]
Merge "Bluetooth 5 feature check implementation (1/3)"
am: 70af00d710

Change-Id: I3a845460853a519ed9d870d579a71ee3fe887f7e

7 years agoMerge "Bluetooth 5 feature check implementation (1/3)"
Treehugger Robot [Sat, 11 Mar 2017 02:03:42 +0000 (02:03 +0000)]
Merge "Bluetooth 5 feature check implementation (1/3)"

7 years agohci: Close the HAL before cleaning up pending command queue and timers
Myles Watson [Sat, 11 Mar 2017 00:45:36 +0000 (00:45 +0000)]
hci: Close the HAL before cleaning up pending command queue and timers
am: d696e66cad

Change-Id: I5913c210da826c4cebef0b03478afe4f0c49a771

7 years agohci: Close the HAL before cleaning up pending command queue and timers
Myles Watson [Fri, 10 Mar 2017 21:08:59 +0000 (13:08 -0800)]
hci: Close the HAL before cleaning up pending command queue and timers

This prevents errors in case of event callbacks being received or timers
being fired after the pending command queue has been deleted.

Bug: 36026072
Test: Turn Bluetooth off/on while scanning and file transfer
Change-Id: I7bb699e929a8b40e42a3543b5445885ae6b1b975

7 years agoBluetooth 5 feature check implementation (1/3)
Jakub Pawlowski [Fri, 10 Mar 2017 02:11:43 +0000 (18:11 -0800)]
Bluetooth 5 feature check implementation (1/3)

Wire the new feature check API to actual values received from the
controller.

Test: manual
Bug: 30622771
Change-Id: I2eefb7d5bb00d89ac7ea803191ba05f830080ade

7 years agosmp_keys simplification
Jakub Pawlowski [Wed, 8 Mar 2017 20:15:14 +0000 (20:15 +0000)]
smp_keys simplification
am: e76a01e1a7

Change-Id: I7c7a2f0e2f6c27a135daaa381fca342fe61c4c72

7 years agosmp_keys simplification
Jakub Pawlowski [Fri, 24 Feb 2017 18:57:57 +0000 (10:57 -0800)]
smp_keys simplification

Test: manual
Change-Id: Ia38604d496b8ae50934c42b68f2424afd1c6320c

7 years agohci: Reduce HCI timeout to 2 seconds
Myles Watson [Tue, 7 Mar 2017 02:36:12 +0000 (02:36 +0000)]
hci: Reduce HCI timeout to 2 seconds
am: fb94dc76eb

Change-Id: Ia26374f62252fe1133cb4129906618b6647fc98d

7 years agohci: Reduce HCI timeout to 2 seconds
Myles Watson [Mon, 6 Mar 2017 17:07:37 +0000 (09:07 -0800)]
hci: Reduce HCI timeout to 2 seconds

Test: Bluetooth starts/stops, Bluetooth scan works
Change-Id: I4b04d71d57f45956898ff1a99e495195b54f4e8e

7 years agoFix for dual-mode devices advertising with a single address
Jack He [Thu, 2 Mar 2017 20:43:38 +0000 (20:43 +0000)]
Fix for dual-mode devices advertising with a single address
am: 8bf2285959

Change-Id: I9b36a3a38f6b7e943dafea354bd32b7730589da5

7 years agoFix for dual-mode devices advertising with a single address
Jack He [Thu, 16 Feb 2017 08:06:15 +0000 (03:06 -0500)]
Fix for dual-mode devices advertising with a single address

* BTM_ReadRemoteDeviceName checks if a device is connectable over LE before
  making a connection. However, when it is not connectable over LE, it could
  be connectable over BR/EDR.
* For Dual Mode device, the device type should be 0x3 and is not equal to
  BT_DEVICE_TYPE_BREDR, hence we cannot check equality to determine whether
  a device is BR/EDR, but need to AND them and check the result.
* btm_ble_read_remote_name() already checks if device is connectable in LE,
  and we do not need to do it in BTM_ReadRemoteDeviceName().
* This fix removes the check from BTM_ReadRemoteDeviceName
* This fix also adds error checking to return values of BTM_ReadRemoteDeviceName
* This fix moves inquiry database query to respective remote name
  request procedures, as the result of the query is used in those
  procedures instead of in BTM_ReadRemoteDeviceName()

Bug: 35348392
Test: make, pair with device that advertise on both LE and BR/EDR
Change-Id: I10d1aa9dd6e2447f9b9d40b1fea9370b5088a57d

7 years agoMerge "cleanup: no assigns in conditionals"
Marie Janssen [Thu, 2 Mar 2017 17:08:53 +0000 (17:08 +0000)]
Merge "cleanup: no assigns in conditionals"
am: 20d25f4a11

Change-Id: Id6c9397753e2c971b21c5a08562d8228d6edeb9e

7 years agoMerge "cleanup: no assigns in conditionals"
Treehugger Robot [Thu, 2 Mar 2017 17:05:10 +0000 (17:05 +0000)]
Merge "cleanup: no assigns in conditionals"

7 years agoDisable broken unittest
Bailey Forrest [Wed, 1 Mar 2017 22:55:36 +0000 (22:55 +0000)]
Disable broken unittest
am: 042ac33ca2

Change-Id: I133b3c9b8a2df18b1497c0a561bcfdbc7ea4cee6

7 years agoDisable broken unittest
Bailey Forrest [Wed, 1 Mar 2017 19:49:14 +0000 (11:49 -0800)]
Disable broken unittest

Change-Id: I9c7dbd8dfdb440a31e4c98e93ee533fe96ee7b0e

7 years agoAllow framework to compile with BTM_IO_CAP_NONE
Pulkit Bhuwalka [Wed, 1 Mar 2017 18:53:19 +0000 (18:53 +0000)]
Allow framework to compile with BTM_IO_CAP_NONE
am: eb1ad1d47b

Change-Id: I082341c0e500cb8bf4e19e2886fbb19cd1d16cfc

7 years agoAllow framework to compile with BTM_IO_CAP_NONE
Pulkit Bhuwalka [Wed, 1 Mar 2017 00:11:34 +0000 (16:11 -0800)]
Allow framework to compile with BTM_IO_CAP_NONE

Using BTM_IO_CAP_NONE currently causes compilation to fail since
bta_dm_sp_cback ends up unused out a previous #ifdef that only kicks
in if BTM_IO_CAP_NONE is not set. Plugging the entire function into
a #ifdef so consistency is maintained and the framework can compile.

Bug: 35257446
Test: Built locally and run on device. Pairing without display using
JustWorks works.

Change-Id: Ibd7af6454253ccd731ff79602f327a52b8fe585b

7 years agoMerge "Always restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)"
Pavlin Radoslavov [Wed, 1 Mar 2017 03:27:34 +0000 (03:27 +0000)]
Merge "Always restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)"
am: 435dbce2fe

Change-Id: I9ea3ba4bfb72754e431e56b6ae38e370b9704970

7 years agoMerge "Always restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)"
Treehugger Robot [Wed, 1 Mar 2017 03:25:04 +0000 (03:25 +0000)]
Merge "Always restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)"

7 years agoMerge "Ignore AAC bitrate from the A2DP Sink device if below a threshold"
Pavlin Radoslavov [Wed, 1 Mar 2017 01:55:16 +0000 (01:55 +0000)]
Merge "Ignore AAC bitrate from the A2DP Sink device if below a threshold"
am: fc33655f8a

Change-Id: I00628b1c1ef6bbafa85ca9f3be79707c80c84e16

7 years agoMerge "Ignore AAC bitrate from the A2DP Sink device if below a threshold"
Treehugger Robot [Wed, 1 Mar 2017 01:46:28 +0000 (01:46 +0000)]
Merge "Ignore AAC bitrate from the A2DP Sink device if below a threshold"

7 years agoMerge "btif_sock_thread: Set thread_id = -1 after join"
Myles Watson [Wed, 1 Mar 2017 00:35:03 +0000 (00:35 +0000)]
Merge "btif_sock_thread: Set thread_id = -1 after join"
am: 89aea85c7e

Change-Id: I508ffc333a84a53f8aa9e224eff98de68aaec2c1

7 years agoMerge "btif_sock_thread: Set thread_id = -1 after join"
Treehugger Robot [Wed, 1 Mar 2017 00:28:52 +0000 (00:28 +0000)]
Merge "btif_sock_thread: Set thread_id = -1 after join"

7 years agoAlways restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)
Pavlin Radoslavov [Tue, 28 Feb 2017 23:30:21 +0000 (15:30 -0800)]
Always restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)

Some devices claim they can handle large MTU and large SBC bitpool.
However, they are struggling and eventually over time they
start delaying the "Rcvd Number of Completed Packets" reports.
Now we always limit the payload MTU to MAX_2MBPS_AVDTP_MTU(663) -
with the overhead of (4 bytes L2CAP Header + 12 bytes AVDTP Header)
such packet can fit within 2-DH5 payload size of 679 bytes.

Bug: 34127145
Test: A2DP SBC streaming to headsets and carkit
Change-Id: I2f32becba703d77d36be46158f68b8a9ef3f299a

7 years agoIgnore AAC bitrate from the A2DP Sink device if below a threshold
Pavlin Radoslavov [Fri, 17 Feb 2017 17:53:52 +0000 (09:53 -0800)]
Ignore AAC bitrate from the A2DP Sink device if below a threshold

Some Sink devices might advertise AAC zero bitrate or a very small
value (e.g., 24576). Ignore values that are below a threshold
(currently set to 64000), because those seem invalid.
For such devices, the actual streaming bitrate will be computed
based on the MTU.

Test: Code compilation
Change-Id: Ibe3de6e53681a618f388b41a01f366ad462b7a1d

7 years agoMerge "osi: Use atomic_exchange to protect is_joined"
Myles Watson [Tue, 28 Feb 2017 23:12:06 +0000 (23:12 +0000)]
Merge "osi: Use atomic_exchange to protect is_joined"
am: 8099365eba

Change-Id: I62da0426474815a68f7b608953d51714b393af4d

7 years agoMerge "osi: Use atomic_exchange to protect is_joined"
Treehugger Robot [Tue, 28 Feb 2017 23:07:36 +0000 (23:07 +0000)]
Merge "osi: Use atomic_exchange to protect is_joined"

7 years agobtif: Remove redundant thread_{stop|join}
Myles Watson [Tue, 28 Feb 2017 23:07:36 +0000 (23:07 +0000)]
btif: Remove redundant thread_{stop|join}
am: de1695b6f0

Change-Id: I1f910f200c2942a1bbfbdd6d37b3dc6b0e7fed64

7 years agobtif_sock: Use atomic operations for thread_handle
Myles Watson [Tue, 28 Feb 2017 22:59:46 +0000 (22:59 +0000)]
btif_sock: Use atomic operations for thread_handle
am: b793f4f77e

Change-Id: Iba8b63a98db212b53ea931577b77a4b731ba2906

7 years agobtif_sock_thread: Set thread_id = -1 after join
Myles Watson [Tue, 28 Feb 2017 19:14:26 +0000 (11:14 -0800)]
btif_sock_thread: Set thread_id = -1 after join

Bug: 35690239
Test: Switch users with Bluetooth enabled
     (Disables/Enables Bluetooth under high load)
Change-Id: I6e09547cc8ffa3f01bc523ce4c18fdabfe08df99

7 years agocleanup: no assigns in conditionals
Marie Janssen [Wed, 22 Feb 2017 16:35:29 +0000 (08:35 -0800)]
cleanup: no assigns in conditionals

Some assigns snuck into our conditionals, making the code harder to
read / follow.

Also remove some unnecessary null checks after osi_malloc that are
nearby.

Test: compiles, sanity check with device
Change-Id: Ia544da44060d9fc4363af9fbcb4112f3190f75ab

7 years agobtif: Remove redundant thread_{stop|join}
Myles Watson [Tue, 28 Feb 2017 19:16:03 +0000 (11:16 -0800)]
btif: Remove redundant thread_{stop|join}

Test: Switch users with Bluetooth enabled
     (Disables/Enables Bluetooth under high load)
Change-Id: I2414fd26a0380644700d66a8fdec1fc54a1cd2f6

7 years agobtif_sock: Use atomic operations for thread_handle
Myles Watson [Tue, 28 Feb 2017 19:05:52 +0000 (11:05 -0800)]
btif_sock: Use atomic operations for thread_handle

Test: Switch users with Bluetooth enabled
     (Disables/Enables Bluetooth under high load)
Change-Id: I9039f97c090f693e798b8082fbb027e2028c8b40

7 years agoosi: Use atomic_exchange to protect is_joined
Myles Watson [Tue, 28 Feb 2017 19:01:03 +0000 (11:01 -0800)]
osi: Use atomic_exchange to protect is_joined

Test: Switch users with Bluetooth enabled
     (Disables/Enables Bluetooth under high load)
Change-Id: I34c5579b75620970f756fff28ccc07cf76599a94

7 years agoIncrease max remote ext feature pages to 3
Venkata Jagadeesh Garaga [Tue, 28 Feb 2017 19:06:50 +0000 (19:06 +0000)]
Increase max remote ext feature pages to 3
am: f6ac424a81

Change-Id: I32f2c8bea74985235201d755c54dbc317f3e4578

7 years agoIncrease max remote ext feature pages to 3
Venkata Jagadeesh Garaga [Wed, 9 Nov 2016 05:10:20 +0000 (10:40 +0530)]
Increase max remote ext feature pages to 3

Use Case: DUT unable to pair with Xbox HID device

Steps:
1. Turn on BT
2. Start Inquiry
3. Pair with device with three extended feature pages

Failure: Unable to pair with HID device

Root Cause: DUT not responding for btm_read_remote_ext_features_complete
as we are not supporting three extended pages. So Security procedure also
not getting started.

Fix: Increase max remote ext feature pages to three from
2 as some latest remotes supporting three extended pages.
As per spec we can support 255 extended pages.

Test: Pair with device with three extended feature pages

Bug: 32999575

Change-Id: I061c78a7aaa1ab58a2fc554d026305a0124eee77

7 years agoFix libldac build on Linux
Jakub Pawlowski [Tue, 28 Feb 2017 17:54:29 +0000 (17:54 +0000)]
Fix libldac build on Linux
am: 03aae0f5fb

Change-Id: Ic3b212e6fc583b3a99087d1fb1e5206b80096377

7 years agoFix initial advertising command order
Jakub Pawlowski [Tue, 28 Feb 2017 02:01:02 +0000 (02:01 +0000)]
Fix initial advertising command order
am: cd0d18937e

Change-Id: I2a1d0e553a7d5d0c82ddc8cbfe1eba9160584334

7 years agobtsnd_hcic_ble_rand refactor
Jakub Pawlowski [Tue, 28 Feb 2017 02:00:53 +0000 (02:00 +0000)]
btsnd_hcic_ble_rand refactor
am: 0c683232e2

Change-Id: I0a36f6335b98128b53fe3f9a2c89e7b442a8954f

7 years agoFix libldac build on Linux
Jakub Pawlowski [Tue, 28 Feb 2017 01:51:44 +0000 (17:51 -0800)]
Fix libldac build on Linux

In build/BUILD.gn we set EXPORT_SYMBOL value, and it's used across the
whole stack. However, third party libraries require this value to be
cleared - otherwise the symbols are not exported properly.

Test: manual

7 years agoFix initial advertising command order
Jakub Pawlowski [Fri, 24 Feb 2017 19:35:07 +0000 (11:35 -0800)]
Fix initial advertising command order

Set the address during SetParameters, for VSC implementation, and right
after setting parameters for BT5 implementation.

Test: sl4a ConcurrentBleAdvertisingTest
Bug: 33922058
Bug: 34962013
Change-Id: Idcc60a36884607de191066d8be1ee3bc459e86fc

7 years agobtsnd_hcic_ble_rand refactor
Jakub Pawlowski [Fri, 24 Feb 2017 17:49:59 +0000 (09:49 -0800)]
btsnd_hcic_ble_rand refactor

Make btsnd_hcic_ble_rand accept base::Callback instead of function
pointer. This will result in great code simplifications in further
patches.

Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I9933caa78b20d0011ce3e17fd72d5740bcc4ae6d

7 years agotest_vendor: Replace __FUNCTION__ with __func__
Myles Watson [Sat, 25 Feb 2017 02:28:16 +0000 (02:28 +0000)]
test_vendor: Replace __FUNCTION__ with __func__
am: 8cd930cc9d

Change-Id: I5608b7565b3ddb0679f5865016daa876855e63a7

7 years agotest_vendor: Replace __FUNCTION__ with __func__
Myles Watson [Tue, 13 Dec 2016 17:47:55 +0000 (09:47 -0800)]
test_vendor: Replace __FUNCTION__ with __func__

Test: Bluetooth settings still works
Change-Id: I4de24cceb9beb262ce7f96e7291288b70618f694

7 years agoRevert "HID: Fix scroll issue with Apple Magic Mouse"
Ajay Panicker [Fri, 24 Feb 2017 19:24:43 +0000 (19:24 +0000)]
Revert "HID: Fix scroll issue with Apple Magic Mouse"
am: f11e42b1c2

Change-Id: I1697dbe5da844376f11ec4003f84e9fb50d67cb4

7 years agoRevert "HID: Fix scroll issue with Apple Magic Mouse"
Ajay Panicker [Fri, 24 Feb 2017 17:37:30 +0000 (17:37 +0000)]
Revert "HID: Fix scroll issue with Apple Magic Mouse"

Reverting due to the fact that this causes many HID issues with fugu.
The general problem seems to be that this patch requires kernel 3.18
while fugu is currently on 3.10. Will investigate further later but
reverting for now to fix fugu.

This reverts commit 3e2201163b609aab6dcc0778158e790c3201353b.
Fixes: 35667962
Fixes: 35712367
Change-Id: I536da368fc9796b26dc52892eda6501772683330

7 years agoMerge "Set the AAC audioMuxVersion to "2""
Pavlin Radoslavov [Fri, 24 Feb 2017 02:50:42 +0000 (02:50 +0000)]
Merge "Set the AAC audioMuxVersion to "2""
am: ee975e8740

Change-Id: I96db4dee5da91a602e00d362530865239c2bc909

7 years agoMerge "Set the AAC audioMuxVersion to "2""
Treehugger Robot [Fri, 24 Feb 2017 02:48:23 +0000 (02:48 +0000)]
Merge "Set the AAC audioMuxVersion to "2""

7 years agoMerge "Update the AAC bitrate settings"
Pavlin Radoslavov [Fri, 24 Feb 2017 01:04:40 +0000 (01:04 +0000)]
Merge "Update the AAC bitrate settings"
am: 13f4c4d474

Change-Id: I2bea4a4bb701f2e6cbc4791446d78801482b442f

7 years agoMerge "Update the AAC bitrate settings"
Treehugger Robot [Fri, 24 Feb 2017 01:01:15 +0000 (01:01 +0000)]
Merge "Update the AAC bitrate settings"

7 years agoDisplay passkey when bonding
Jakub Pawlowski [Fri, 24 Feb 2017 00:55:08 +0000 (00:55 +0000)]
Display passkey when bonding
am: 197a1b99e5

Change-Id: If3756ba5ac9bee99116e8845806826aaa3e80076

7 years agoDisplay passkey when bonding
Jakub Pawlowski [Thu, 23 Feb 2017 22:43:08 +0000 (14:43 -0800)]
Display passkey when bonding

Test: manual
Change-Id: I238dfadf401b90d52caa4c381ea068b48091c092

7 years agoMerge "Clear state mask when scan stopped"
Jakub Pawlowski [Fri, 24 Feb 2017 00:17:33 +0000 (00:17 +0000)]
Merge "Clear state mask when scan stopped"
am: 6f77461775

Change-Id: I628ce848b48928f2da2b04befbaaf7d8b021d35b

7 years agoMerge "Clear state mask when scan stopped"
Treehugger Robot [Fri, 24 Feb 2017 00:14:26 +0000 (00:14 +0000)]
Merge "Clear state mask when scan stopped"

7 years agoSet the AAC audioMuxVersion to "2"
Pavlin Radoslavov [Thu, 23 Feb 2017 21:57:15 +0000 (13:57 -0800)]
Set the AAC audioMuxVersion to "2"

This change is needed, because there are Sink devices that
expect a fixed latmBufferFullness value.

Bug: 35715579
Test: A2DP streaming to various devices
Change-Id: Ia27490920cda273cee15bfd7e643b85a5c5e428d

7 years agoUpdate the AAC bitrate settings
Pavlin Radoslavov [Thu, 23 Feb 2017 21:49:54 +0000 (13:49 -0800)]
Update the AAC bitrate settings

Use AACENC_PEAK_BITRATE to limit the maximum bitrate as limited by
the MTU, and use AACENC_BITRATE to set the encoder bitrate.

Previously, both were set to the same value. That was disabling
the AAC bitreservoir, and eventually affecting the audio quality.

Bug: 35715570
Test: A2DP streaming to various devices
Change-Id: I6adac4889f9b2d7509182df8961ddfada02ee8ac

7 years agoDon't build vendor lib on Linux
Bluetooth Build Test [Thu, 23 Feb 2017 22:53:56 +0000 (22:53 +0000)]
Don't build vendor lib on Linux
am: 3eadf272be

Change-Id: I1eb9b9e320de0f624a585fc7668969cc8a56ffd8

7 years agoDon't build vendor lib on Linux
Bluetooth Build Test [Wed, 22 Feb 2017 19:52:30 +0000 (11:52 -0800)]
Don't build vendor lib on Linux

The stack does no longer use vendor libs. We use hci_layer_linux.cc now.

Test: manual
Change-Id: I6c64337280c073647faf0bd775d75c5d700e7911

7 years agoClear state mask when scan stopped
Jakub Pawlowski [Thu, 23 Feb 2017 21:55:02 +0000 (13:55 -0800)]
Clear state mask when scan stopped

Test: manual test
Change-Id: Icc47679aaba92afd7f3eab48416065d3a741a745

7 years agoLog which advertising HCI interface is used
Jakub Pawlowski [Thu, 23 Feb 2017 19:39:14 +0000 (19:39 +0000)]
Log which advertising HCI interface is used
am: 9bb5a64390

Change-Id: I25376b92d1d4b51c5c99823a62660b181a34d2a1

7 years agoLog which advertising HCI interface is used
Jakub Pawlowski [Thu, 23 Feb 2017 17:50:31 +0000 (09:50 -0800)]
Log which advertising HCI interface is used

This is useful for debugging advertising issues.

Test: manual
Change-Id: Ia51eccb1ff7922a5864572a89e77404299965862

7 years agoMerge "Close leftover Audio-to-Bluetooth HAL connections before reopening"
Pavlin Radoslavov [Thu, 23 Feb 2017 18:30:38 +0000 (18:30 +0000)]
Merge "Close leftover Audio-to-Bluetooth HAL connections before reopening"
am: 06a384fde6

Change-Id: I6924175127d046ffd77d3215c32089ea69df158f

7 years agoMerge "Close leftover Audio-to-Bluetooth HAL connections before reopening"
Treehugger Robot [Thu, 23 Feb 2017 18:26:03 +0000 (18:26 +0000)]
Merge "Close leftover Audio-to-Bluetooth HAL connections before reopening"