OSDN Git Service

android-x86/system-bt.git
8 years agoAdditional headsets blacklisted for absolute volume
Andre Eisenbach [Tue, 12 Jan 2016 02:06:44 +0000 (18:06 -0800)]
Additional headsets blacklisted for absolute volume

Bug: 26070064
Change-Id: Ida1faec964982a4630f42ab378fe5b6dd6e21c16

8 years agoresolve merge conflicts of 26bb30842b to mnc-dr1.5-dev.
Sharvil Nanavati [Fri, 8 Jan 2016 02:40:35 +0000 (18:40 -0800)]
resolve merge conflicts of 26bb30842b to mnc-dr1.5-dev.

Change-Id: I52d08551a1d62fbd56bc6b14d98ccbc31f294484

8 years agoDisable 3Mbps packets for AVDT ACL links
Sathya Kumar [Thu, 7 Jan 2016 23:26:05 +0000 (17:26 -0600)]
Disable 3Mbps packets for AVDT ACL links

Change-Id: I4b1b52ec8aeaf5eab0672231889e0ea6f23aa852

8 years agoA2DP task media alarm non-null protection
Ajay Panicker [Wed, 6 Jan 2016 20:11:05 +0000 (12:11 -0800)]
A2DP task media alarm non-null protection

Prevent the alarm from being started multiple times.

Bug: 26277592
Change-Id: I764f93bab5490bf5f3942a1beb706457197d3ec1

8 years agoFix bug where a bonded device could enter BONDING and BONDED states again.
Sharvil Nanavati [Wed, 6 Jan 2016 17:28:51 +0000 (17:28 +0000)]
Fix bug where a bonded device could enter BONDING and BONDED states again.
am: b32b3d7c1b

* commit 'b32b3d7c1b99adb760cc7013a545af2140e34dcc':
  Fix bug where a bonded device could enter BONDING and BONDED states again.

8 years agoFix bug where a bonded device could enter BONDING and BONDED states again.
Sharvil Nanavati [Wed, 6 Jan 2016 00:23:02 +0000 (16:23 -0800)]
Fix bug where a bonded device could enter BONDING and BONDED states again.

The following sequence of events was observed:
- start bonding with device A
- bond state for A goes from 10 -> 11 -> 12
- everyone's happy
- start bonding with device B
- bond state for B goes from 10 -> 11
- bond state for A goes from 12 -> 11 -> 12

The bond state for A should not have been changed in the last step
since it was not participating in any bonding procedure at the time.

The above sequence can be reproduced if a device D bonds with
A and takes on the slave role and then D bonds with B and switches
to a master role. When D performs the role switch, it receives an
updated link key from A.

Since the link key update procedure is tied in with the pairing flow,
we see spurious bond state changes. This CL checks the pairing control
block to see if D is, in fact, pairing with A and if not, it skips the
bond state updates.

Bug: 25870383
Change-Id: Ic6ff548dbe4e960c965bdc9ef5c50a263b9b3b22

8 years agoMerge "Fix crash in HFP client\'s +COPS parsing code." into cw-e-dev
Sharvil Nanavati [Tue, 5 Jan 2016 01:37:57 +0000 (01:37 +0000)]
Merge "Fix crash in HFP client\'s +COPS parsing code." into cw-e-dev
am: bf8d17ddbb

* commit 'bf8d17ddbb64fdc6c252c63f6b9078987f871ba6':
  Fix crash in HFP client's +COPS parsing code.

8 years agoOnly send first 16 characters of operator name in +COPS.
Sharvil Nanavati [Tue, 5 Jan 2016 01:37:53 +0000 (01:37 +0000)]
Only send first 16 characters of operator name in +COPS.
am: 61b8ebf698

* commit '61b8ebf698c87a3beb2ebb18ee633b121a78e29e':
  Only send first 16 characters of operator name in +COPS.

8 years agoMerge "Fix crash in HFP client's +COPS parsing code." into cw-e-dev
Sharvil Nanavati [Tue, 5 Jan 2016 01:36:43 +0000 (01:36 +0000)]
Merge "Fix crash in HFP client's +COPS parsing code." into cw-e-dev

8 years agoFix crash in HFP client's +COPS parsing code.
Sharvil Nanavati [Tue, 5 Jan 2016 01:21:05 +0000 (17:21 -0800)]
Fix crash in HFP client's +COPS parsing code.

If the Audio Gateway sends a malformed +COPS message (an operator
name > 16 characters) then the %n in sscanf format specifier is
ignored and sscanf will not assign a value to the appropriate
argument.

In such a case, the existing code will perform pointer arithmetic
using an uninitialized stack variable as an offset which may result
in pointing to an invalid memory address. When that memory is
subsequently dereferenced, we observe a crash.

This change ensures that the stack does not crash even if an invalid
+COPS message is sent from the Audio Gateway.

Bug: 24871011
Change-Id: I9bb42c75bcd90487831fc6950c571c87098559e7

8 years agoOnly send first 16 characters of operator name in +COPS.
Sharvil Nanavati [Tue, 5 Jan 2016 01:15:18 +0000 (17:15 -0800)]
Only send first 16 characters of operator name in +COPS.

According to the HFP spec, the operator name is required to be at
most 16 characters long.

Bug: 24871011
Change-Id: I9987de57a327348fc2203b9502e9df446a87793f

8 years agoFix crashes with lots of discovered LE devices
Marie Janssen [Wed, 9 Dec 2015 18:08:25 +0000 (10:08 -0800)]
Fix crashes with lots of discovered LE devices

When loads of devices are discovered a config file which is too large
can be written out, which causes the BT daemon to crash on startup.

This limits the number of config entries for unpaired devices which
are initialized, and prevents a large number from being saved to the
filesystem.

Bug: 26071376
Change-Id: I4a74094f57a82b17f94e99a819974b8bc8082184
(cherry picked from commit d77f1999ecece56c1cbb333f4ddc26f0b5bac2c5)

8 years agoDO NOT MERGE Blacklist devices for absolute volume control
Andre Eisenbach [Fri, 11 Dec 2015 20:32:21 +0000 (12:32 -0800)]
DO NOT MERGE Blacklist devices for absolute volume control

Some devices do not play well with absolute volume control. They either
play back music at unacceptably loud volume levels or provide
insufficiently granular volume control where a single "step" of volume
change results in unexpectedly large jumps in volume.

Now with 100% less build errors ;)

Bug: 2607006426060431
Change-Id: Ibe46c4997bc1ca9e6f78cafb3b434309d8511fcb

8 years agoRevert "Blacklist devices for absolute volume control"
Ian Pedowitz [Wed, 23 Dec 2015 05:13:22 +0000 (05:13 +0000)]
Revert "Blacklist devices for absolute volume control"

This reverts commit 2c8897ca35a93148619d662df03bd9da1b73679a.

Change-Id: Ia184c82fda022b3592753872a86be12a1cefc7d0

8 years agoBlacklist devices for absolute volume control
Andre Eisenbach [Fri, 11 Dec 2015 20:32:21 +0000 (12:32 -0800)]
Blacklist devices for absolute volume control

Some devices do not play well with absolute volume control. They either
play back music at unacceptably loud volume levels or provide
insufficiently granular volume control where a single "step" of volume
change results in unexpectedly large jumps in volume.

Bug: 2607006426060431
Change-Id: I5a336fba87119325b47a5ad385e9c48a631f2121

8 years agoMerge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false" into cw...
Sharvil Nanavati [Fri, 18 Dec 2015 18:37:06 +0000 (18:37 +0000)]
Merge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false" into cw-e-dev
am: 3c8de06896

* commit '3c8de068964457fbc7625ca5d8d6fbe85e416c40':
  Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false

8 years agoMerge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false" into cw...
Sharvil Nanavati [Fri, 18 Dec 2015 01:58:36 +0000 (01:58 +0000)]
Merge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false" into cw-e-dev

8 years agoDO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant
Scott James Remnant [Thu, 17 Dec 2015 23:09:59 +0000 (23:09 +0000)]
DO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant
am: 786a7e5941  -s ours

* commit '786a7e5941b7826a3b19d042aaba2763a103284e':
  DO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant

8 years agoDO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant
Scott James Remnant [Wed, 11 Nov 2015 19:51:20 +0000 (11:51 -0800)]
DO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant

Bug: 25385380
Change-Id: Ia719363823d8d538caa6b42f076d5d6d737ae036

8 years agoMerge "DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_blueto...
Joshua Schwarz [Thu, 17 Dec 2015 22:50:16 +0000 (14:50 -0800)]
Merge "DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth." into cw-e-dev
am: 78ec0dc441  -s ours

* commit '78ec0dc4419004fc4851850ba3c289e9eb4592c3':
  DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth.

8 years agoMerge "DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_blueto...
Joshua Schwarz [Thu, 17 Dec 2015 22:47:38 +0000 (22:47 +0000)]
Merge "DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth." into cw-e-dev

8 years agoFix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false
Sharvil Nanavati [Thu, 17 Dec 2015 14:23:19 +0000 (06:23 -0800)]
Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false

Without this change, setting AVRC_ADV_CTRL_INCLUDED to false would
result in the native code reporting the remote device supports
absolute volume even though we don't.

Bug: 26070064
Change-Id: I5b88fa0adb89983de28a216898a1d8957fa454a1

8 years agoFix BT connection failures
Devin Kim [Wed, 16 Dec 2015 00:11:09 +0000 (00:11 +0000)]
Fix BT connection failures
am: 198abcd704

* commit '198abcd7048fc98d78a7b264dcaa1923fe968614':
  Fix BT connection failures

8 years agoFix BT connection failures
Devin Kim [Thu, 3 Dec 2015 21:19:20 +0000 (13:19 -0800)]
Fix BT connection failures

When HFP connection failed establishing between phone and watch, it can't
recover RFCOMM status which causes that HFP connection will not be made
unless BT radio goes off and comes back on. RFCOMM and HFP both trying to
open RFCOMM control channel at nearly same time, at some point, there's
a possibility that SABM packet didn't reach out to BT controller to connect
to phone from watch with HFP while phone tries to connect to watch with
AW RFCOMM.

This will take care of pending SABM packet to reach out to controller
properly so that RFCOMM status will not be messed.

Bug: 24285000
Bug: 25579482
Bug: 25579423
Bug: 25578997
Change-Id: Icc26b86c644ebd8d1c12a2fb4e94d04ba16cc2dd

8 years agoDO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush.
Alain Vongsouvanh [Wed, 9 Dec 2015 23:39:55 +0000 (15:39 -0800)]
DO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush.
am: e52633cecf  -s ours

* commit 'e52633cecfe6358ba2e7f38bd52339330505a02b':
  DO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush.

8 years agoDO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush.
Alain Vongsouvanh [Wed, 9 Dec 2015 16:57:38 +0000 (08:57 -0800)]
DO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush.

Change-Id: I327f9ce696bb68eb3b89b4a8b15dba189e027970

8 years agoDO NOT MERGE ANYWHERE: Add file write error checks to config_save
Amadeusz Slawinski [Tue, 8 Dec 2015 19:05:39 +0000 (11:05 -0800)]
DO NOT MERGE ANYWHERE: Add file write error checks to config_save
am: 02f35e6a36  -s ours

* commit '02f35e6a3633f81cbcf0f3be4e68b79b496fb354':
  DO NOT MERGE ANYWHERE: Add file write error checks to config_save

8 years agoDO NOT MERGE ANYWHERE: Add file write error checks to config_save
Amadeusz Slawinski [Tue, 3 Nov 2015 15:09:57 +0000 (16:09 +0100)]
DO NOT MERGE ANYWHERE: Add file write error checks to config_save

It's better to leave old config file instead of
overwriting with broken one.

Fixes problem when disk is full and we can't write
more data to it.

(Change amended to use "old" style LOG_ERROR macro)

Issue: KIONE-3099
Change-Id: Ifdb641ba7f3140655f9ec371e53b11a17484f27a

8 years agoDO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth.
Joshua Schwarz [Mon, 30 Nov 2015 16:44:26 +0000 (08:44 -0800)]
DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth.

Change-Id: I73105164c04701aade27638ffdc5c3281a2585a2

8 years agoMerge "DO NOT MERGE Revert "A2DP SRC offload support"" into mnc-dr1.5-dev
Chris Elliott [Wed, 2 Dec 2015 21:52:14 +0000 (21:52 +0000)]
Merge "DO NOT MERGE Revert "A2DP SRC offload support"" into mnc-dr1.5-dev

8 years agoDO NOT MERGE Revert "A2DP SRC offload support"
Chris Elliott [Wed, 2 Dec 2015 20:59:58 +0000 (12:59 -0800)]
DO NOT MERGE Revert "A2DP SRC offload support"

This reverts commit 6ff83ab9dd38bdefc5d252325f0cfbd3f1754d78.

8 years agoDO NOT MERGE Revert "Make default SBC bitrate configurable by device."
Chris Elliott [Wed, 2 Dec 2015 20:56:55 +0000 (12:56 -0800)]
DO NOT MERGE Revert "Make default SBC bitrate configurable by device."

This reverts commit 5f308397b7fe8a8da3f88b0f8910c3863ed1ec0b.

8 years agoDO NOT MERGE Revert "Always send a SUSPEND_CFM event when suspended due to A2DP RECON...
Chris Elliott [Wed, 2 Dec 2015 20:55:59 +0000 (12:55 -0800)]
DO NOT MERGE Revert "Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE."

This reverts commit 8b1c7af03a2a8eedd1efd2eddca3ecd4b61bfd95.

8 years agoMerge "Mark secure link as authenticated for LE" into cw-e-dev
Zach Johnson [Wed, 2 Dec 2015 18:24:58 +0000 (18:24 +0000)]
Merge "Mark secure link as authenticated for LE" into cw-e-dev
am: e6242fcf30

* commit 'e6242fcf303f195d31eaaca97146e341b2b49e70':
  Mark secure link as authenticated for LE

8 years agoMerge "Mark secure link as authenticated for LE" into cw-e-dev
Zach Johnson [Wed, 2 Dec 2015 18:20:03 +0000 (18:20 +0000)]
Merge "Mark secure link as authenticated for LE" into cw-e-dev

8 years agoMark secure link as authenticated for LE
Andre Eisenbach [Sat, 14 Nov 2015 00:48:53 +0000 (16:48 -0800)]
Mark secure link as authenticated for LE

Without this change, reading an authenticated GATT characteristic using
BR/EDR  would fail with an insufficient authentication error.

Change-Id: I02f44cdf90635b470b21e8aad8240993cb0e8e42

8 years agoAlways send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE.
Sridhar Vashist [Tue, 1 Dec 2015 21:27:00 +0000 (21:27 +0000)]
Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE.
am: 8b1c7af03a

* commit '8b1c7af03a2a8eedd1efd2eddca3ecd4b61bfd95':
  Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE.

8 years agoMake default SBC bitrate configurable by device.
Sridhar Vashist [Tue, 1 Dec 2015 21:26:57 +0000 (21:26 +0000)]
Make default SBC bitrate configurable by device.
am: 5f308397b7

* commit '5f308397b7fe8a8da3f88b0f8910c3863ed1ec0b':
  Make default SBC bitrate configurable by device.

8 years agoAlways send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE.
Sridhar Vashist [Fri, 7 Aug 2015 00:40:24 +0000 (19:40 -0500)]
Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE.

There appear to be race cases where the peer sends a START before
we reconfigure the stream. Avoid btif_av state from getting
mismatched by always sending out the SUSPEND_CFM during RECONFIGURE.

Change-Id: I2034cd111466f792233cedb60a3a0df11d055962
Signed-off-by: Sridhar Vashist <svashist@motorola.com>
8 years agoMake default SBC bitrate configurable by device.
Sridhar Vashist [Wed, 14 Oct 2015 22:47:02 +0000 (17:47 -0500)]
Make default SBC bitrate configurable by device.

Configurable default SBC bitrate so that audio quality can be maintained
for sampling rates other than 44.1kHz

Change-Id: Ia4197c0a500088cfa48a8ba821e9738a16c3fc6e
Signed-off-by: Sridhar Vashist <svashist@motorola.com>
8 years agoMerge "A2DP SRC offload support" into cw-e-dev
Chris Elliott [Tue, 1 Dec 2015 21:15:38 +0000 (21:15 +0000)]
Merge "A2DP SRC offload support" into cw-e-dev
am: ffdfe1d26d

* commit 'ffdfe1d26d43a2f80a845be84b669520edc55fbb':
  A2DP SRC offload support

8 years agoMerge "A2DP SRC offload support" into cw-e-dev
Chris Elliott [Tue, 1 Dec 2015 21:09:52 +0000 (21:09 +0000)]
Merge "A2DP SRC offload support" into cw-e-dev

8 years agoA2DP SRC offload support
Abhijit Adsule [Tue, 19 May 2015 07:44:26 +0000 (02:44 -0500)]
A2DP SRC offload support

bluedroid changes to support A2DP SRC offload to BT FW.
add functionality to relay a2dp offload requests and responses
between AudioHAL & the BT vendor library.

Change-Id: Ie4e5992c48e95b0efb372a405e8537e4fd3ea071
Signed-off-by: Sridhar Vashist <svashist@motorola.com>
Conflicts:
audio_a2dp_hw/audio_a2dp_hw.h
bta/Android.mk
bta/av/bta_av_aact.c
btif/include/btif_media.h
btif/src/btif_av.c
btif/src/btif_media_task.c
hci/Android.mk
hci/src/vendor.c
include/bt_target.h
stack/include/l2c_api.h

8 years agoOnly initiate codec negotiation if feature is supported
Chenjie Luo [Mon, 30 Nov 2015 21:27:10 +0000 (21:27 +0000)]
Only initiate codec negotiation if feature is supported
am: ecb3b8386f

* commit 'ecb3b8386f4acf6a6e9b401fdd561349ccd6c435':
  Only initiate codec negotiation if feature is supported

8 years agoOnly initiate codec negotiation if feature is supported
Chenjie Luo [Fri, 20 Nov 2015 19:18:42 +0000 (11:18 -0800)]
Only initiate codec negotiation if feature is supported

Bug: 25634250
Change-Id: I97330c853f6cf90673b4ff28c72645f9d1c8ff9d

8 years agokeep history after reset to mnc-dr-dev(03d171170c7ad4e40454a9575cfd4919d2e1ef2f)
Baligh Uddin [Sun, 15 Nov 2015 17:27:19 +0000 (09:27 -0800)]
keep history after reset to mnc-dr-dev(03d171170c7ad4e40454a9575cfd4919d2e1ef2f)

8 years agoMerge "Fix broken test caused by misordered callback arguments." into cw-e-dev
Sharvil Nanavati [Mon, 9 Nov 2015 17:11:12 +0000 (17:11 +0000)]
Merge "Fix broken test caused by misordered callback arguments." into cw-e-dev

8 years agoFix broken test caused by misordered callback arguments.
Sharvil Nanavati [Sat, 7 Nov 2015 10:12:16 +0000 (02:12 -0800)]
Fix broken test caused by misordered callback arguments.

Change-Id: I16976a2a680eab76af31090548c2efc53bebaa60

8 years agoAlways update remote address type during LE scan
Andre Eisenbach [Fri, 6 Nov 2015 00:59:44 +0000 (00:59 +0000)]
Always update remote address type during LE scan
am: 03d171170c

* commit '03d171170c7ad4e40454a9575cfd4919d2e1ef2f':
  Always update remote address type during LE scan

8 years agoAlways update remote address type during LE scan
Andre Eisenbach [Thu, 5 Nov 2015 23:38:36 +0000 (15:38 -0800)]
Always update remote address type during LE scan

This will ensure that devices which do not contain a device name in the
advertising record are stored with the correct address type to ensure
re-connection to the device succeeds.

Bug: 25499163
Change-Id: I85f18ce2de267844c5d5ed49beeb448b9b074d74

8 years agoMerge "Do not mask out secure connections (SC) bit for BT <4.2" into mnc-dr-dev
Andre Eisenbach [Thu, 5 Nov 2015 01:27:19 +0000 (01:27 +0000)]
Merge "Do not mask out secure connections (SC) bit for BT <4.2" into mnc-dr-dev
am: 15c1f685db

* commit '15c1f685db0453a3e20f81de94fca7040a52a39a':
  Do not mask out secure connections (SC) bit for BT <4.2

8 years agoFix bug in SDP 128-bit UUID lookup
Andre Eisenbach [Thu, 5 Nov 2015 01:27:14 +0000 (01:27 +0000)]
Fix bug in SDP 128-bit UUID lookup
am: 7312c6d913

* commit '7312c6d91376e533914eb2a108b65699ca54353a':
  Fix bug in SDP 128-bit UUID lookup

8 years agoMerge "Do not mask out secure connections (SC) bit for BT <4.2" into mnc-dr-dev
Andre Eisenbach [Wed, 4 Nov 2015 17:32:48 +0000 (17:32 +0000)]
Merge "Do not mask out secure connections (SC) bit for BT <4.2" into mnc-dr-dev

8 years agoFix bug in SDP 128-bit UUID lookup
Andre Eisenbach [Wed, 4 Nov 2015 16:28:30 +0000 (08:28 -0800)]
Fix bug in SDP 128-bit UUID lookup

Bug: 24344122
Change-Id: I7b7ed4459c4f377d97b608bfe2e0c13aac31680e

8 years agoDo not mask out secure connections (SC) bit for BT <4.2
Andre Eisenbach [Wed, 4 Nov 2015 16:20:22 +0000 (08:20 -0800)]
Do not mask out secure connections (SC) bit for BT <4.2

Bug: 25467621
Change-Id: Ifdb52295fa5b8c5a39524a722dc044227c735240

8 years agoSerialize remote version query over LE
Andre Eisenbach [Fri, 30 Oct 2015 02:18:32 +0000 (02:18 +0000)]
Serialize remote version query over LE
am: 864e7734f2

* commit '864e7734f21d7ebe3f3a6840d187a2696498e9f4':
  Serialize remote version query over LE

8 years agoSerialize remote version query over LE
Andre Eisenbach [Thu, 29 Oct 2015 22:48:06 +0000 (15:48 -0700)]
Serialize remote version query over LE

Some devices (ex. Nexus Player remote) do not take well to having the
remote version queried while a remote feature request is also sent and
subsequently fail encryption.

This patch serializes the query of the remote version and requires both
remote features and the remote version to be read before calling a
connection established.

Bug: 25357767
Change-Id: Ie70eea241b47b81778d8e0df47f3a8f376316932

8 years agoCheck remote LMP version before enabling secure connections
Andre Eisenbach [Tue, 27 Oct 2015 20:30:54 +0000 (20:30 +0000)]
Check remote LMP version before enabling secure connections
am: 4f7c4f6732

* commit '4f7c4f67320bbb35c85b478d2ac7aa29d732acca':
  Check remote LMP version before enabling secure connections

8 years agoCheck remote LMP version before enabling secure connections
Andre Eisenbach [Mon, 26 Oct 2015 20:49:17 +0000 (13:49 -0700)]
Check remote LMP version before enabling secure connections

Request remote version information for LE links when connecting and
ensure LMP version is >= 8 (Bluetooth 4.2) before setting the LinkKey
bits in the pairing request.

This is to ensure older remote devices do not get confused by the
additional bit(s) in the pairing request.

Bug: 25277879
Change-Id: I25424e541fa5244d8f522dffc62cdedc24f4f35b

8 years agoPrevent integer overflows during GATT signing
Ajay Panicker [Tue, 27 Oct 2015 19:07:55 +0000 (19:07 +0000)]
Prevent integer overflows during GATT signing
am: b335ee9496

* commit 'b335ee9496e671bf0ef0ab28a5990c9a024ac06b':
  Prevent integer overflows during GATT signing

8 years agoPrevent integer overflows during GATT signing
Ajay Panicker [Fri, 23 Oct 2015 23:49:11 +0000 (16:49 -0700)]
Prevent integer overflows during GATT signing

Bug: 17901099
Change-Id: Ib61113b19c9c9798b9ea992fad0ce997dcc2e2f8

8 years agoMerge "Raise alarm callback thread priority" into mnc-dr-dev
Andre Eisenbach [Fri, 23 Oct 2015 23:52:57 +0000 (23:52 +0000)]
Merge "Raise alarm callback thread priority" into mnc-dr-dev
am: 2c8802ab5f

* commit '2c8802ab5f4f73afe2a8b722d3b1bbd8e106fa24':
  Raise alarm callback thread priority

8 years agoReduce persistence on aquiring master role
Mattias Agren [Fri, 23 Oct 2015 23:52:49 +0000 (23:52 +0000)]
Reduce persistence on aquiring master role
am: 59d9673187

* commit '59d9673187a50c259b42e5a71482304ab850a809':
  Reduce persistence on aquiring master role

8 years agoMerge "Raise alarm callback thread priority" into mnc-dr-dev
Andre Eisenbach [Fri, 23 Oct 2015 23:51:19 +0000 (23:51 +0000)]
Merge "Raise alarm callback thread priority" into mnc-dr-dev

8 years agoReduce persistence on aquiring master role
Mattias Agren [Wed, 14 Oct 2015 15:05:58 +0000 (17:05 +0200)]
Reduce persistence on aquiring master role

Whenever a device has more than 1 ACL link active and transferring
data on one of its links via PAN, HH or JV (RFCOMM) the sys busy/idle
state toggles frequently. To avoid triggering role switches for each
of these events we filter this out and let the other SYS events handle
it in combination with other role policy management code. Ideally we
should revert the toggling to properly reflect the busy/idle state of
each profile but to limit risk of side effects at this stage we will
make this intermittent change.

This also affects audio streaming in certain cases.

Bug: 2457095925129209
Change-Id: I141e17ee069c82624e153fd8de5db90ae93724b9

8 years agoRaise alarm callback thread priority
Andre Eisenbach [Fri, 23 Oct 2015 17:40:36 +0000 (10:40 -0700)]
Raise alarm callback thread priority

Since alarms [/callbacks] are used in the critical audio path, raising
the thread priority is required to ensure timely encoding/transmission
of audio packets and avoiding thread pre-emption.

This patch indiscriminatly raises the (single) callback thread priority,
affecting all alarm callbacks. In the future, thread priotiry should be
adjusted based on the alarms pending in the queue.

Bug: 24570959
Change-Id: I64928fd7325f1d6f76815a185dbccf1e01ae30d2

8 years agoFix 128-bit UUID byte order for GATT-over-BR/EDR
Andre Eisenbach [Wed, 21 Oct 2015 02:00:07 +0000 (02:00 +0000)]
Fix 128-bit UUID byte order for GATT-over-BR/EDR
am: deb1c7c5cf

* commit 'deb1c7c5cfacba8ec2d896f6bb120bdc81314d9a':
  Fix 128-bit UUID byte order for GATT-over-BR/EDR

8 years agoFix 128-bit UUID byte order for GATT-over-BR/EDR
Andre Eisenbach [Wed, 21 Oct 2015 01:03:30 +0000 (18:03 -0700)]
Fix 128-bit UUID byte order for GATT-over-BR/EDR

128-bit UUIDs for GATT services discovered using SDP are byte-ordered
incorrectly. This patch fixes both the SDP discovery as well as the SDP
record creation code.

Bug: 24344122
Change-Id: Iee4bf33dcbbc5ee0f2380b48330107232bd0401b

8 years agoMerge "Workaround for H4 HCI stream corruption during LE scans" into mnc-dr-dev
Andre Eisenbach [Wed, 21 Oct 2015 01:37:00 +0000 (01:37 +0000)]
Merge "Workaround for H4 HCI stream corruption during LE scans" into mnc-dr-dev
am: 78870e0f38

* commit '78870e0f38658e389e22dfba5da3f239f01966d7':
  Workaround for H4 HCI stream corruption during LE scans

8 years agoMerge "Workaround for H4 HCI stream corruption during LE scans" into mnc-dr-dev
Andre Eisenbach [Wed, 21 Oct 2015 01:33:07 +0000 (01:33 +0000)]
Merge "Workaround for H4 HCI stream corruption during LE scans" into mnc-dr-dev

8 years agoRemove absolute volume control whitelist
Andre Eisenbach [Wed, 21 Oct 2015 01:17:19 +0000 (01:17 +0000)]
Remove absolute volume control whitelist
am: 8289925079

* commit '8289925079c40ec91fa99d0ea6817f796a66681a':
  Remove absolute volume control whitelist

8 years agoWorkaround for H4 HCI stream corruption during LE scans
Andre Eisenbach [Fri, 11 Sep 2015 04:41:39 +0000 (21:41 -0700)]
Workaround for H4 HCI stream corruption during LE scans

Sometimes, during result-heavy LE scans, the UART byte stream can become
corrupted, leading to assertions caused by mis-interpreting the bytes
following the corruption.

This workaround looks for tell-tale signs of a BLE event and attempts to
skip the correct amount of bytes in the stream to re-synchronize onto a
packet boundary.

Bug: 23934838
Change-Id: Ifadaecf8077cb1defc7134c59c97302fca660f81

8 years agoRemove absolute volume control whitelist
Andre Eisenbach [Mon, 19 Oct 2015 23:06:20 +0000 (16:06 -0700)]
Remove absolute volume control whitelist

Remove the absolute volume control whitelist to enable absolute volume
control for all compatible devices.

Bug: 25081918
Change-Id: Iab0e4b4c4fd3dac0fefdf62ec80419dd64b56c0c

8 years agoam 852bf498: Add Flic smart button to interop database
Andre Eisenbach [Sun, 11 Oct 2015 13:43:14 +0000 (13:43 +0000)]
am 852bf498: Add Flic smart button to interop database

* commit '852bf4980ea87a916e5f3037c9b897fd84c2417b':
  Add Flic smart button to interop database

8 years agoAdd Flic smart button to interop database
Andre Eisenbach [Mon, 5 Oct 2015 20:25:14 +0000 (13:25 -0700)]
Add Flic smart button to interop database

Bug: 24737963
Change-Id: If3b59437439305b490c5fc260a7080cee04f09c5

8 years agoam 6c25b3c0: Raise BTU and HCI thread priorities
Andre Eisenbach [Wed, 7 Oct 2015 20:25:36 +0000 (20:25 +0000)]
am 6c25b3c0: Raise BTU and HCI thread priorities

* commit '6c25b3c02c863cbb047e4cf8b4ec88d8335dac30':
  Raise BTU and HCI thread priorities

8 years agoRaise BTU and HCI thread priorities
Andre Eisenbach [Wed, 7 Oct 2015 18:16:37 +0000 (11:16 -0700)]
Raise BTU and HCI thread priorities

The audio sub-system and audio related tasks run at elevated thread
priorities in order to ensure timely handling of audio packets. This
patch raises the thread priority of lower layer Bluetooth tasks involved
in delivering audio packets to avoid thread pre-emption and subsequent
audio skipping.

Bug: 24570959
Change-Id: I5e19ee4590207df753f7b8bfc22174959722ec2d

8 years agoam 60563860: am 74dad515: Disable opening network debug ports for security reasons
Pavlin Radoslavov [Fri, 25 Sep 2015 22:22:04 +0000 (22:22 +0000)]
am 60563860: am 74dad515: Disable opening network debug ports for security reasons

* commit '60563860e791d31c93daa404247272b3a0cb4e14':
  Disable opening network debug ports for security reasons

8 years agoam 74dad515: Disable opening network debug ports for security reasons
Pavlin Radoslavov [Fri, 25 Sep 2015 22:13:37 +0000 (22:13 +0000)]
am 74dad515: Disable opening network debug ports for security reasons

* commit '74dad51510f7d7b05c6617ef88168bf0bbdf3fcd':
  Disable opening network debug ports for security reasons

8 years agoam 4cac544d: Disable opening network debug ports for security reasons
Pavlin Radoslavov [Fri, 25 Sep 2015 21:13:56 +0000 (21:13 +0000)]
am 4cac544d: Disable opening network debug ports for security reasons

* commit '4cac544da367d7458129631ddef6db4e3312cef7':
  Disable opening network debug ports for security reasons

8 years agoDisable opening network debug ports for security reasons
Pavlin Radoslavov [Thu, 24 Sep 2015 20:34:35 +0000 (13:34 -0700)]
Disable opening network debug ports for security reasons

By default, we open up to three TCP ports that are used
for debugging purpose:

 * TCP port 8872 - used for forwarding btsnoop logs at real time
   Note: the port is open only if "Bluetooth HCI snoop log" is enabled
   in the Developer options
 * TCP port 8873 - used for HCI debugging
 * TCP port 8879 - used for debugging the Bluetooth counters

Those ports are disabled by default.
To enable, the following #define should be added at the top of the
corresponding file(s): btcore/src/counter.c hci/src/btsnoop_net.c
hci/src/hci_inject.c

   #define BT_NET_DEBUG TRUE

Bug: 24371736

Change-Id: I5cb43af1a5d29c331eb5ef61a24dccbe95df6f40

8 years agoam bb2a4fad: Fix PAN crash due to fd mismatch
Nitin Shivpure [Fri, 25 Sep 2015 00:02:09 +0000 (00:02 +0000)]
am bb2a4fad: Fix PAN crash due to fd mismatch

* commit 'bb2a4faddd9a7f03d13d37a23eb0da1ef52f9088':
  Fix PAN crash due to fd mismatch

8 years agoDisable opening network debug ports for security reasons
Pavlin Radoslavov [Thu, 24 Sep 2015 20:34:35 +0000 (13:34 -0700)]
Disable opening network debug ports for security reasons

By default, we open up to three TCP ports that are used
for debugging purpose:

 * TCP port 8872 - used for forwarding btsnoop logs at real time
   Note: the port is open only if "Bluetooth HCI snoop log" is enabled
   in the Developer options
 * TCP port 8873 - used for HCI debugging
 * TCP port 8879 - used for debugging the Bluetooth counters

Those ports are disabled by default.
To enable, the following #define should be added at the top of the
corresponding file(s): btcore/src/counter.c hci/src/btsnoop_net.c
hci/src/hci_inject.c

   #define BT_NET_DEBUG TRUE

Bug: 24371736

Change-Id: I5cb43af1a5d29c331eb5ef61a24dccbe95df6f40

8 years agoFix PAN crash due to fd mismatch
Nitin Shivpure [Sun, 6 Sep 2015 09:34:01 +0000 (15:04 +0530)]
Fix PAN crash due to fd mismatch

A case, where tap read thread is always exist, Sometimes
data packets get recieved on older fd, which is not available.
which is causing assert due to fd mismatch in race condition.
when next pan connection is immediately available. If last pan
connection gets disconnected, then tap_read_thread should be
destroyed in btif context to fix this issue.

Bug: 24093456
Change-Id: Ic1053200a7be4c2091d6c394634831ca3fbd61df

8 years agoam 28209191: Merge "DO NOT MERGE - A2DP audio HAL: implement out_get_presentation_pos...
Andy Hung [Tue, 22 Sep 2015 18:31:20 +0000 (18:31 +0000)]
am 28209191: Merge "DO NOT MERGE - A2DP audio HAL: implement out_get_presentation_position()" into mnc-dr-dev

* commit '282091913b4ee3b26a2f79a630ecdca4e8ca89f6':
  DO NOT MERGE - A2DP audio HAL: implement out_get_presentation_position()

8 years agoMerge "DO NOT MERGE - A2DP audio HAL: implement out_get_presentation_position()"...
Andy Hung [Tue, 22 Sep 2015 18:26:32 +0000 (18:26 +0000)]
Merge "DO NOT MERGE - A2DP audio HAL: implement out_get_presentation_position()" into mnc-dr-dev

8 years agoam 81d4127c: Merge "Check BR device count before initiating role switch" into mnc...
Pankaj Kanwar [Tue, 22 Sep 2015 16:43:14 +0000 (16:43 +0000)]
am 81d4127c: Merge "Check BR device count before initiating role switch" into mnc-dr-dev

* commit '81d4127c5bd2c0bd2ac50a1a7a9f24ad8148434d':
  Check BR device count before initiating role switch

8 years agoMerge "Check BR device count before initiating role switch" into mnc-dr-dev
Pankaj Kanwar [Tue, 22 Sep 2015 16:37:36 +0000 (16:37 +0000)]
Merge "Check BR device count before initiating role switch" into mnc-dr-dev

8 years agoam e31d4171: Fix PAN and AV role switch war
tturney [Mon, 21 Sep 2015 21:51:19 +0000 (21:51 +0000)]
am e31d4171: Fix PAN and AV role switch war

* commit 'e31d417196a377d6718cbccd54794097e095d0b1':
  Fix PAN and AV role switch war

8 years agoFix PAN and AV role switch war
tturney [Mon, 21 Sep 2015 17:49:09 +0000 (10:49 -0700)]
Fix PAN and AV role switch war

Bug: 23740164
Change-Id: Ib26a64b624c711443201adc4fde6b041ecb0dde1

8 years agoam 1cf812f6: Ensure thread priority is raised for media task / UIPC
Andre Eisenbach [Sat, 19 Sep 2015 16:07:40 +0000 (16:07 +0000)]
am 1cf812f6: Ensure thread priority is raised for media task / UIPC

* commit '1cf812f61823c981406f18b2577f43b69e80253d':
  Ensure thread priority is raised for media task / UIPC

8 years agoam ef7d8cb8: Change UHID socket to be non-blocking
Andre Eisenbach [Sat, 19 Sep 2015 16:07:40 +0000 (16:07 +0000)]
am ef7d8cb8: Change UHID socket to be non-blocking

* commit 'ef7d8cb8b012e77c9b0c596c5ad4b0ffb7e5dde9':
  Change UHID socket to be non-blocking

8 years agoEnsure thread priority is raised for media task / UIPC
Andre Eisenbach [Sat, 19 Sep 2015 03:13:53 +0000 (20:13 -0700)]
Ensure thread priority is raised for media task / UIPC

Bug: 23978964
Change-Id: I36b6d05bb82eb0283eed3b465038d65890c4c245

8 years agoChange UHID socket to be non-blocking
Andre Eisenbach [Thu, 17 Sep 2015 22:16:20 +0000 (15:16 -0700)]
Change UHID socket to be non-blocking

On some platforms, the logs indicate that the BTU task is stalled by
UHID driver when writing the HID descriptor to the kernel. This patch
converts the UHID socket to non-blocking to avoid stalling the main
BTU task.

Bug: 23978964
Change-Id: I5a7a3e106fb2c967d68f077faedcd4fe62bbd912

8 years agoCheck BR device count before initiating role switch
Nitin Shivpure [Wed, 12 Aug 2015 12:45:11 +0000 (18:15 +0530)]
Check BR device count before initiating role switch

A case where DUT is acting as PANU device on BR/EDR link & also
acting as central on LE link. As LE link & PANU link need not to
be master & it's not a scatter-net scenario, because there is only
a BR link. So checking for BR device count before initiating role
switch to avoid continuous loop of role switches.

Cherry-picked from: https://partner-android-review.googlesource.com/#/c/376058/

Change-Id: I70e4041a71ba965f1f9e25729c3cfd20ae03d6b4
Bug: 23290136

8 years agoDO NOT MERGE - A2DP audio HAL: implement out_get_presentation_position()
Eric Laurent [Tue, 26 May 2015 22:50:29 +0000 (15:50 -0700)]
DO NOT MERGE - A2DP audio HAL: implement out_get_presentation_position()

And complete implementation of out_get_render_position()

Bug: 21199150
Bug: 24042067
Change-Id: I95038ad68433e401b096a0159282a2ae372570e1

8 years agoDO NOT MERGE Use POSIX timer API for wake alarms instead of OSI callouts.
Sharvil Nanavati [Mon, 7 Sep 2015 08:05:19 +0000 (01:05 -0700)]
DO NOT MERGE Use POSIX timer API for wake alarms instead of OSI callouts.

This change increases RFCOMM throughput by a little over 50%. We
were paying a pretty major cost in setting up / tearing down wake
timers by going through JNI and Binder over to AlarmService.

There are a few gotchas with this implementation, particularly
because the Linux kernel implementation of wake timers is somewhat
buggy.

Bug: 23375670
Change-Id: I27558f439e57696d912b968f56a48e5e4098860b

8 years agoam 03ca1894: Merge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev
Andre Eisenbach [Wed, 9 Sep 2015 18:15:41 +0000 (18:15 +0000)]
am 03ca1894: Merge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev

* commit '03ca189412e3f8ec7c5963339af172c9276b3b9b':
  Allow BT inquiry while discovery is in progress.

8 years agoMerge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev
Andre Eisenbach [Wed, 9 Sep 2015 18:10:57 +0000 (18:10 +0000)]
Merge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev

8 years agoam 313a933e: Merge "Eliminate recursive calling when handling GATT related errors...
Andre Eisenbach [Wed, 9 Sep 2015 18:04:33 +0000 (18:04 +0000)]
am 313a933e: Merge "Eliminate recursive calling when handling GATT related errors" into mnc-dr-dev

* commit '313a933ef3f55ad5121ff70851718b812cf05135':
  Eliminate recursive calling when handling GATT related errors