OSDN Git Service
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
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
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
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
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
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
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
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
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
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
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>
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>
Chris Elliott [Tue, 1 Dec 2015 21:09:52 +0000 (21:09 +0000)]
Merge "A2DP SRC offload support" into cw-e-dev
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
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
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
Sharvil Nanavati [Sat, 7 Nov 2015 10:12:16 +0000 (02:12 -0800)]
Fix broken test caused by misordered callback arguments.
Change-Id: I16976a2a680eab76af31090548c2efc53bebaa60
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
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
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
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
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
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
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
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
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
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
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
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
Ajay Panicker [Fri, 23 Oct 2015 23:49:11 +0000 (16:49 -0700)]
Prevent integer overflows during GATT signing
Bug:
17901099
Change-Id: Ib61113b19c9c9798b9ea992fad0ce997dcc2e2f8
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
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
Andre Eisenbach [Fri, 23 Oct 2015 23:51:19 +0000 (23:51 +0000)]
Merge "Raise alarm callback thread priority" into mnc-dr-dev
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:
24570959,
25129209
Change-Id: I141e17ee069c82624e153fd8de5db90ae93724b9
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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()
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
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
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
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
tturney [Mon, 21 Sep 2015 17:49:09 +0000 (10:49 -0700)]
Fix PAN and AV role switch war
Bug:
23740164
Change-Id: Ib26a64b624c711443201adc4fde6b041ecb0dde1
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
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
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
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
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
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
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
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.
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
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
Andre Eisenbach [Wed, 9 Sep 2015 17:55:55 +0000 (17:55 +0000)]
Merge "Eliminate recursive calling when handling GATT related errors" into mnc-dr-dev
tturney [Tue, 8 Sep 2015 21:42:09 +0000 (14:42 -0700)]
Allow BT inquiry while discovery is in progress.
BT Inquiry is disallowed when service discovery
is in progress. Innitially when GATT discovery
is in progress (crosskey pairing), it resulted
in inquiry requests being rejected. During an
insecure connection like OPP, bonding link key
is not stored. In an earlier patch (
b820aec7),
BR/EDR discovery was bypassed if the bonding was
temporary. However, this was not done for LE.
Applying the same logic to LE, resolved the
inquiry issue reported in this bug.
Bug:
23468169
Change-Id: I6111c80a420aeb0bc36a0393eb215c112512d251
Pavlin Radoslavov [Sat, 5 Sep 2015 00:55:09 +0000 (17:55 -0700)]
Eliminate recursive calling when handling GATT related errors
If there are errors when processing GATT related events (e.g.,
configuring the MTU), don't use recursive calls into
bta_gattc_sm_execute(), because it breaks the free-ing of some
of the memory.
Bug:
23756301
Change-Id: I3c685170e868ffbf4e488d2bb5a31904e3f7b39d
wang ping [Mon, 7 Sep 2015 23:56:39 +0000 (23:56 +0000)]
am
72abbbea: Fix issue where bluesleep idle timer is not started
* commit '
72abbbeaa9220cf30c1d9f21aadd52ba3dd6ea4e':
Fix issue where bluesleep idle timer is not started
wang ping [Sat, 5 Sep 2015 17:48:09 +0000 (10:48 -0700)]
Fix issue where bluesleep idle timer is not started
Sometimes allow_device_sleep() is called before wake_assert, this result in transmit_done
does not start idle timer. This is because the "wake_state" does not match while
allow_device_sleep() is called before wake_assert() is called. So start idle timer
anyway when transmit_done is called.
Bug:
23754156
Change-Id: I5437aea0abc4b7f5cf847701e2d0a889c6823fcb
Sharvil Nanavati [Thu, 3 Sep 2015 21:03:00 +0000 (21:03 +0000)]
Merge "DO NOT MERGE Directly acquire wake locks from the Bluetooth stack." into cw-e-dev
Joshua Schwarz [Wed, 2 Sep 2015 07:26:59 +0000 (07:26 +0000)]
Merge "Implementation of net_test_bluedroid as a GTest." into cw-e-dev
tturney [Wed, 2 Sep 2015 01:12:48 +0000 (01:12 +0000)]
am
65d1c84f: Fix btwrite timer timeout for Angler (2/2)
* commit '
65d1c84f5b4c2d452b4927ab7f8670a4951db3ce':
Fix btwrite timer timeout for Angler (2/2)
Sharvil Nanavati [Tue, 1 Sep 2015 06:50:05 +0000 (23:50 -0700)]
DO NOT MERGE Directly acquire wake locks from the Bluetooth stack.
The wake lock callouts go through JNI and then across Binder to
PowerManager. As a result, the cost of each callout is very high.
There are cases where the stack is acquiring and releasing the wake
lock tens of times per second. When that happens, the CPU load on
some devices can reach 100% and the RFCOMM throughput can drop by
50% or more.
This change reduces the cost of acqiring / releasing a wake lock.
Instead of JNI + Binder + PowerManager overhead, we simply write to
the /sys/power/wake_lock and /sys/power/wake_unlock nodes. The cost
of each is a single syscall.
Bug:
23375670
Change-Id: I760a86b557b02c3d70be7a902c943b7ee2f515b1
tturney [Mon, 31 Aug 2015 22:16:59 +0000 (15:16 -0700)]
Fix btwrite timer timeout for Angler (2/2)
When calculating the appropriate LPM's idle timeout,
the local chip name was NULL. This is fixed by calculating
LMP's idle timeout when the chip is enabling.
Bug:
23248798
Change-Id: I8ee2b28fb4363359e035e242fdcff8a736ee448c
Joshua Schwarz [Thu, 27 Aug 2015 21:15:26 +0000 (14:15 -0700)]
Implementation of net_test_bluedroid as a GTest.
Change-Id: If9fc9a26fe58858a107b8ad6ac9f1e757ba07f90
Jacob Lee [Sat, 29 Aug 2015 00:12:39 +0000 (00:12 +0000)]
am
0908eac5: am
24923939: LE Multi-Advertising State Change Sub-event Wrong Variable Type
* commit '
0908eac54232fd876e355baf50c74edd91f2b89a':
LE Multi-Advertising State Change Sub-event Wrong Variable Type
Jacob Lee [Sat, 29 Aug 2015 00:04:35 +0000 (00:04 +0000)]
am
24923939: LE Multi-Advertising State Change Sub-event Wrong Variable Type
* commit '
249239391c732c25c5edb62636cfe188131af3a4':
LE Multi-Advertising State Change Sub-event Wrong Variable Type
Jacob Lee [Wed, 26 Aug 2015 06:43:59 +0000 (14:43 +0800)]
LE Multi-Advertising State Change Sub-event Wrong Variable Type
Wrong connection handle type in multi-adv event parsing,
causing random address (confirm value) mismatch and pairing failure.
Bug id:
23201007
Change-Id: I13ce231360937e711f61eb0777805b07bcde7074
Sunny Kapdi [Fri, 28 Aug 2015 21:26:02 +0000 (21:26 +0000)]
am
ed9a5c76: am
dcfafe9a: Fix incorrect SetConnScanParam function mapping
* commit '
ed9a5c76f2807676155970535138ca51c072aab1':
Fix incorrect SetConnScanParam function mapping
Sunny Kapdi [Fri, 28 Aug 2015 21:16:26 +0000 (21:16 +0000)]
am
dcfafe9a: Fix incorrect SetConnScanParam function mapping
* commit '
dcfafe9af755c06bc64fd7ad072233ceb7a1abc6':
Fix incorrect SetConnScanParam function mapping
Sunny Kapdi [Thu, 27 Aug 2015 07:37:31 +0000 (00:37 -0700)]
Fix incorrect SetConnScanParam function mapping
BTA_DM_API_BLE_CONN_SCAN_PARAM_EVT is defined before
BTA_DM_API_BLE_SCAN_PARAM_EVT in the enum but the corresponding
entries in bta_dm_action were inverted. This resulted in incorrect
invocation of set_conn_scan_params while trying to set parameters
for scanning. The call was hence failing here and was not
resulting in setting of the new scan parameters in the Controller
irrespective of the scan mode selected from the App. This would
essentially result in the breakage of ScanSettings.SCAN_MODE_<xx>
Android SDK APIs.
Bug:
23602042
Change-Id: I17e1b14a32250e3ccb7631a67690ec2e0a6bc321
Nitin Arora [Tue, 25 Aug 2015 23:22:48 +0000 (23:22 +0000)]
am
ee8592f4: am
b7460434: Fix memory corruption of BLE whitelist hashmap
* commit '
ee8592f44738ca438df9256e3e057250d014c740':
Fix memory corruption of BLE whitelist hashmap
Nitin Arora [Tue, 25 Aug 2015 23:18:06 +0000 (23:18 +0000)]
am
b7460434: Fix memory corruption of BLE whitelist hashmap
* commit '
b74604341c60628dc7bc8e8e69e3ce2acb4a5373':
Fix memory corruption of BLE whitelist hashmap
Nitin Arora [Fri, 21 Aug 2015 19:34:14 +0000 (12:34 -0700)]
Fix memory corruption of BLE whitelist hashmap
When adding devices to the whitelist for LE background connections, a
local variable is used as the hashmap key, preventing any successful
lookups going forward. Thus the device will repeatedly add the same
device to the whitelist and preventing successful connections going
forward.
Bug:
23423602
Change-Id: I3d2590c0a1dd66c6e1864ea53f875a713660b645
Pavlin Radoslavov [Mon, 24 Aug 2015 05:05:15 +0000 (05:05 +0000)]
am
5c572ffb: am
aa41fec0: Check the return value when reading HCI type byte
* commit '
5c572ffb5b61e5c7f7fe1080bdb27098c9bc5511':
Check the return value when reading HCI type byte
Pavlin Radoslavov [Mon, 24 Aug 2015 05:00:20 +0000 (05:00 +0000)]
am
aa41fec0: Check the return value when reading HCI type byte
* commit '
aa41fec0e36653e828bfc2a54fca11447ed56cc5':
Check the return value when reading HCI type byte
Pavlin Radoslavov [Thu, 20 Aug 2015 23:53:16 +0000 (16:53 -0700)]
Check the return value when reading HCI type byte
Add missing return value check when reading the HCI type byte.
This check is needed as a safeguard. For example, function
event_uart_has_bytes() could be called (indirectly)
within the run_reactor() loop not only when there are bytes to read,
but also if there is an error (e.g., EPOLLHUP | EPOLLRDHUP | EPOLLERR).
Bug:
23105107
Change-Id: Ic3b6e4d656406949e384c8106b0c607f7c221759
Sharvil Nanavati [Thu, 20 Aug 2015 18:33:37 +0000 (18:33 +0000)]
Merge "Send current RPA instead of pseudo-address on connect." into cw-e-dev
Sharvil Nanavati [Mon, 10 Aug 2015 20:00:06 +0000 (13:00 -0700)]
Send current RPA instead of pseudo-address on connect.
Bug:
23079777
Change-Id: If6da80392748cdaad2a4833dd31fe299b62c28e3
Pavlin Radoslavov [Wed, 19 Aug 2015 01:55:34 +0000 (01:55 +0000)]
am
28dd2209: am
d2199cbb: Disable remote TCP connections
* commit '
28dd2209e46711d08d77439f09d7b0ea55473038':
Disable remote TCP connections
Pavlin Radoslavov [Wed, 19 Aug 2015 01:48:29 +0000 (01:48 +0000)]
am
d2199cbb: Disable remote TCP connections
* commit '
d2199cbb8f361772819402b56e6fa46587a31c56':
Disable remote TCP connections
Pavlin Radoslavov [Tue, 18 Aug 2015 01:54:22 +0000 (18:54 -0700)]
Disable remote TCP connections
For security reasons, TCP sockets now listen on the loopback
IPv4 address 127.0.0.1 for incoming TCP connections.
Bug:
23272146
Change-Id: I88523f643f305f2281740575d7011b6077bf0843
Iliyan Malchev [Fri, 14 Aug 2015 05:49:48 +0000 (05:49 +0000)]
am
66405510: am
1e1f1598: Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn\'t match" into mnc-dev
* commit '
66405510b976c7a0507cee34a3573ad8148352a2':
[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match
Iliyan Malchev [Fri, 14 Aug 2015 05:43:55 +0000 (05:43 +0000)]
am
1e1f1598: Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn\'t match" into mnc-dev
* commit '
1e1f1598c0574ccda0978bc31bf759708c33a0c9':
[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match
Iliyan Malchev [Fri, 14 Aug 2015 05:38:26 +0000 (05:38 +0000)]
Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match" into mnc-dev