OSDN Git Service
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
Ajay Panicker [Tue, 5 Jan 2016 23:03:19 +0000 (15:03 -0800)]
net_test_bluetooth: fix inconsistency in set/get name test
Fixed an issue where the set/get name test would fail every so often
due to the fact that the old name property would become invalid after
the properties array was freed.
Bug:
25793348
Change-Id: I4513219da2fb947b3b199f25a61c308b9fced8b6
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
Andreas Gampe [Wed, 6 Jan 2016 00:29:05 +0000 (16:29 -0800)]
Bluetooth: Remove std=c++11
It's the default now.
Change-Id: Ice463e6e74d56bffd00a80824721dbe57241ea06
Andreas Gampe [Tue, 5 Jan 2016 22:10:20 +0000 (22:10 +0000)]
Merge "Bluetooth: Silence unused-parameter warning"
Andreas Gampe [Tue, 5 Jan 2016 21:52:00 +0000 (13:52 -0800)]
Bluetooth: Silence unused-parameter warning
Silence these for now. Reduce build noise.
Change-Id: I787c31f60c8d24e3dd2bae8d1acaa7592b7e29ba
Sharvil Nanavati [Tue, 5 Jan 2016 18:01:59 +0000 (18:01 +0000)]
Merge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false"
Sharvil Nanavati [Tue, 5 Jan 2016 16:58:05 +0000 (16:58 +0000)]
Merge "Fix crash in HFP client's +COPS parsing code."
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
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
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
Hemant Gupta [Thu, 27 Aug 2015 05:18:07 +0000 (10:48 +0530)]
Fix RFCOMM Rx speed of transfer
Use Case:
1. OPP Rx use case on the DUT Side
2. Transfer 10Mb+ of file from remote to DUT
3. Observe speeds over RFCOMM (expected 1.5Mbps+)
Failure:
Actual speeds lesser than 1.5Mbps
Root Cause:
Rx bottlenecks seen due to frequent timer operation
during incoming data on RFCOMM
Fix:
BUSY and IDLE states of BT Power manager are already
handled inside the stack and no need to explicitly set
IDLE and BUSY states from JV layer anymore.
Bug:
22487461
Change-Id: Icdc25c52103d6a849cc6e12656d9c69f5e152b05
Marie Janssen [Tue, 29 Dec 2015 23:34:55 +0000 (15:34 -0800)]
Fix flaky AlarmTest.test_set_long_*
The "long" tests need some leeway for the timer to be checked because
sometimes it takes ~1-2ms to check timers for wakelock scheduling.
Bug:
26140385
Change-Id: I362166f1d93a811f3933776294775b594226ab30
Pavlin Radoslavov [Tue, 24 Nov 2015 01:16:29 +0000 (17:16 -0800)]
Use GID "wakelock" to control access to kernel wakelock
Bug:
25864142
Change-Id: I5103471b0ec28c26c18b891fc3be07c000067b4e
Andre Eisenbach [Wed, 23 Dec 2015 03:22:45 +0000 (03:22 +0000)]
Merge "net_test_bluetooth: Improve set/get name logic"
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
Andre Eisenbach [Fri, 20 Nov 2015 22:07:24 +0000 (14:07 -0800)]
Remove "block" parameter from eager_reader_read()
Setting this parameter to true did not work and did not behave as
expected. The functionality provided by this parameter is also not
necessary, thus removing code.
Change-Id: I29e60da4adf1d1fc84d8ec9a590de89e94bb7900
Andre Eisenbach [Wed, 23 Dec 2015 01:50:24 +0000 (17:50 -0800)]
Properly reset NONBLOCK flag in semaphore_try_wait()
Without this fix, calling semaphore_try_wait() on a semaphore that
wasn't currently set, would leave the NONBLOCK flag on the file
descriptor as a side-effect.
Also added a unit test for semaphores, including a test specifically for
this condition.
Change-Id: I0ea37bb68b14c76febaab25b3aee1bb4f5acee8c
Ajay Panicker [Tue, 22 Dec 2015 21:09:48 +0000 (13:09 -0800)]
net_test_bluetooth: Improve set/get name logic
Without this CL semaphore_wait would instantly return due to the fact
that enabling the adapter would cause the properties callback to post
immediatly. Also prevented the test from returning a false positive if the
original device name was the same as the test name.
Change-Id: I987efcb9a5ef58209d37d2fc21f3c149fb3e556c
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:
26070064,
26060431
Change-Id: I5a336fba87119325b47a5ad385e9c48a631f2121
Ajay Panicker [Mon, 21 Dec 2015 23:05:10 +0000 (15:05 -0800)]
net_test_bluetooth: fix set and get name tests
Fixed the get and set name tests so that they are more consistent and robust.
Change-Id: I4b76357eff05531c4e52cd6de03eb3b8b969062b
Christopher Wiley [Mon, 21 Dec 2015 15:50:16 +0000 (15:50 +0000)]
Merge "Remove dependency on base::Hash"
Christopher Wiley [Fri, 18 Dec 2015 23:57:36 +0000 (15:57 -0800)]
Remove dependency on base::Hash
This function is changing to just use std::hash anyway. This is
slightly less efficient because of the copies, but doing it inline
makes the cost more explicit to bluetooth authors.
Bug:
26253162
Change-Id: I940ea8ce8aa27808cef8a8b9398a7756db3b5ca3
Test: Compiles
Marie Janssen [Fri, 18 Dec 2015 19:07:08 +0000 (11:07 -0800)]
Fix memory leak in vendor layer
When the vendor library transmits without giving a callback, the vendor
translation receives a buffer it's in charge of deallocating.
When there is a callback, it's the vendor library's job to deallocate
it.
Change-Id: I65b0a037b28103ba46a33a1baea942f7e724eb7c
yanlaijun [Thu, 17 Dec 2015 01:53:54 +0000 (09:53 +0800)]
Remove repeated code in HF BTIF init function.
Change-Id: I25a07e9cdb29ef31696a156c6f7ff5b57f4f5cfb
Signed-off-by: yanlaijun <yan.laijun@gmail.com>
Andreas Gampe [Wed, 16 Dec 2015 18:53:07 +0000 (10:53 -0800)]
Bluetooth: Silence warnings
Silence unused-parameters warnings coming from libchrome.
Bug:
26228533
Change-Id: I08bc474c905cd2cf7b1c0492ee37187c499ddf52
Ajay Panicker [Mon, 7 Dec 2015 22:15:33 +0000 (14:15 -0800)]
net_test_bluetooth: GATT test refactor
Properly integrating the GATT tests in net_test_bluetooth to utilize GUnit
correctly. Contains all the GATT tests and the base class the GATT tests use.
Also reorganized the files.
Bug:
25793348
Change-Id: I5a547a2528c20d6baa9b1fb6d0b956f718d736cc
Scott James Remnant [Wed, 11 Nov 2015 20:41:08 +0000 (12:41 -0800)]
test: Add bluetoothtbd_test and net_test_bluetooth to runner
Change-Id: Iee7365cc366793d3f88cd8b9a6be454c5b853863
Arman Uguray [Tue, 17 Nov 2015 21:11:03 +0000 (13:11 -0800)]
service: Add scan structures
Added the ScanFilter, ScanSettings, ScanResult structures that are
used in the BLE scan API.
Bug:
25744656
Change-Id: Id1bb28e7ebe85fd40013876aa097e1d0f0a4e471
Arman Uguray [Fri, 13 Nov 2015 23:05:48 +0000 (15:05 -0800)]
service: Add connection state tracking to Adapter
Added the IsDeviceConnected method to Adapter and also an
Observer method that other components can use to track the ACL
state between the local adapter and a remote device.
Bug:
25157450
Change-Id: If9bc25ab58b4a9b5430753405fb64834c0946050
Alex Deymo [Thu, 10 Dec 2015 22:18:34 +0000 (22:18 +0000)]
Merge "Rename libchrome-host to libchrome."
Ian Coolidge [Fri, 4 Dec 2015 22:15:03 +0000 (14:15 -0800)]
Clean up A2D_ParsSbcInfo indentation
This should introduce no change in behavior.
Change-Id: I14faa73d898f69bd15aff7c3857c671ebe1628c9
Pavlin Radoslavov [Thu, 10 Dec 2015 19:34:26 +0000 (19:34 +0000)]
Merge "Fix p_info increment in A2D_ParsSbcInfo"
Ajay Panicker [Thu, 10 Dec 2015 01:44:59 +0000 (17:44 -0800)]
Add default implementations for observer callbacks
Added defaults functions that do nothing for the bluetooth observers. Also
removed empty definition of the discovery callback in adapter. A little cleanup
was done too.
Change-Id: I93b6134f25e30e30cc2072cb4c99ce06aa781849
Pavlin Radoslavov [Sat, 14 Nov 2015 02:36:56 +0000 (18:36 -0800)]
Fix the fixed_queue_try_remove_from_queue() internals
Calling fixed_queue_try_remove_from_queue() should update
queue->dequeue_sem and queue->enqueue_sem as appropriate.
Also:
* Removed function fixed_queue_init() because it is not used
* Added fixed_queue_test.cpp unit tests for fixed_queue
* Updated some of the fixed_queue API description
Bug:
25973053
Change-Id: I3a0931f34fed34a2d60f82904601ef4157ee8ff9
Alex Deymo [Thu, 10 Dec 2015 02:08:33 +0000 (18:08 -0800)]
Rename libchrome-host to libchrome.
Update the name of the libchrome-host library to the match the one used
in the target.
Bug:
24619596
TEST=make dist
Change-Id: I73e906a0683142cc7e43237d4c5fa20c27acc6cc
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
Ajay Panicker [Thu, 10 Dec 2015 01:05:11 +0000 (17:05 -0800)]
Add discovery state callback to adapter
Change-Id: Icb3afacc5a23603762f2b0c42244dc408b245dcc
Andre Eisenbach [Thu, 10 Dec 2015 01:03:27 +0000 (17:03 -0800)]
Disable bdtool compilation
For re-factoring purposes, the dependencies are broken. Need to
re-evaluate tool usage and port to new bluetoothtbd HAL layer if
necessary.
Change-Id: I27b2ad3d78c67a12c67d8db9f506f94888bea70f
Ajay Panicker [Mon, 7 Dec 2015 22:12:13 +0000 (14:12 -0800)]
net_test_bluetooth: adapter test refactor
Properly integrating net_test_bluetooth to utilize GUnit correctly.
Contains all the adapter tests and base class that all the other tests
utilize. Also removed all the old test code.
Bug:
25793348
Change-Id: Ie05d54e9d21f01e2d717bb79d187d7f0ff8a83f1
Alain Vongsouvanh [Wed, 9 Dec 2015 16:57:38 +0000 (08:57 -0800)]
osi: Remove error_fclose goto and redundant fflush.
Change-Id: I327f9ce696bb68eb3b89b4a8b15dba189e027970
VenkatRaghavan V [Wed, 9 Dec 2015 11:47:13 +0000 (17:17 +0530)]
Fix the calculation of bta_sys_get_remaining_ticks
Previously, bta_sys_get_remaining_ticks() calculated the remaining
ticks for all the items in the hash map, which is incorrect.
Instead, we need to calculate the remaining ticks only for the queried
item.
Bug:
26110234
Change-Id: Ia867c1d0da15809a643b946f7d8b9143e3882935
Pavlin Radoslavov [Tue, 8 Dec 2015 01:47:08 +0000 (17:47 -0800)]
Added visibility to the UIPC_Read() errors
Changed some of the BTIF_TRACE_EVENT() log messages
to BTIF_TRACE_WARNING() so we can get better visibility into the
UIPC_Read() errors.
Also, removed UIPC_ReadBuf() and UIPC_SendBuf(), because they are
not implemented / used.
Change-Id: Iccc6a4d73dfe3c3e57f21c538891d7cb429f11ac
Pavlin Radoslavov [Mon, 7 Dec 2015 23:33:46 +0000 (23:33 +0000)]
Fix net_test_hci unit tests
am:
c3caf784c7
* commit '
c3caf784c788af45fd6b657a09f4034b9d3387ba':
Fix net_test_hci unit tests
Chenjie Luo [Mon, 7 Dec 2015 23:14:11 +0000 (23:14 +0000)]
Only initiate codec negotiation if feature is supported
am:
1cb11bb9af
* commit '
1cb11bb9af8c72437eaf364bd422715015e4534b':
Only initiate codec negotiation if feature is supported
Frédéric Dalleau [Mon, 7 Dec 2015 23:14:05 +0000 (23:14 +0000)]
Update features pages after LE Host Support change
am:
ebc367a5a8
* commit '
ebc367a5a8c90f70fd39096a2e658826d17e94a0':
Update features pages after LE Host Support change
Ian Coolidge [Fri, 4 Dec 2015 22:11:22 +0000 (14:11 -0800)]
Fix p_info increment in A2D_ParsSbcInfo
This is supposed to adjust position in the passed buffer,
not adjust a value of the buffer.
It fixes A2DP sink pairing by not corrupting the codec mask.
Also add const qualification to the input buffer.
Change-Id: Ic83ba73e0ea90897c131b4c1417cb976903862ac
Pavlin Radoslavov [Fri, 4 Dec 2015 01:11:55 +0000 (17:11 -0800)]
Fix net_test_hci unit tests
* Added new function API to hci_layer: hci_layer_cleanup_interface()
It can be used to cleanup after hci_layer_get_interface()
or hci_layer_get_test_interface()
* Fixed the unit tests inside HciLayerTest by removing usage of
allocation_tracker_reset() and adding hci_layer_cleanup_interface() .
The former was used as a hack to bypass the internal memory allocation
of hci_layer_get_test_interface(). The latter is used to properly
cleanup such allocation.
Bug:
26014740
Change-Id: I498b996a931c59dd3b4258f1a5741cfa6d302e42
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
Frédéric Dalleau [Tue, 18 Aug 2015 10:23:12 +0000 (12:23 +0200)]
Update features pages after LE Host Support change
After "Write LE Host Support" command is sent, the number of supported features
pages increases. Make sure we have the correct number of pages because it will
be read later.
Change-Id: I23d57b2cc9e773e14b2ce30ccfa624ba433b191c
Signed-off-by: Frédéric Dalleau <frederic.dalleau@linux.intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
Jakub Pawlowski [Fri, 4 Dec 2015 01:38:45 +0000 (01:38 +0000)]
Fix race condition during simultaneous SDP
am:
1b3ac36749
* commit '
1b3ac367492750439ebecd393af1799242767ef3':
Fix race condition during simultaneous SDP
Scott James Remnant [Fri, 4 Dec 2015 01:38:42 +0000 (01:38 +0000)]
Merge changes I7f9b2ea0,Ibb1c1d4c,I64cef032
am:
cc79505e54
* commit '
cc79505e542cab5d686f8dba298f6b0c224a8129':
Clean up run_unit_tests wordiness
Add iterations option to run_unit_tests
Clean up run_unit_tests a little
Jakub Pawlowski [Wed, 2 Dec 2015 17:33:20 +0000 (09:33 -0800)]
Fix race condition during simultaneous SDP
Right now sdp_conn_id and p_sdp_db are stored in static global
bta_gattc_cb between call to bta_gattc_sdp_service_disc and
bta_gattc_sdp_callback. If multiple instances of SDP discovery
are running simultaneously, they override this field, and free
same memory multiple times. This patch fixes that by making sure
sdp_conn_id and p_sdp_db are unique for each SDP discovery.
Bug:
25801255
Change-Id: I8ec52229e906e6b8748db7504f77e1f4d7006fbe
Scott James Remnant [Fri, 4 Dec 2015 01:33:02 +0000 (01:33 +0000)]
Merge changes I7f9b2ea0,Ibb1c1d4c,I64cef032
* changes:
Clean up run_unit_tests wordiness
Add iterations option to run_unit_tests
Clean up run_unit_tests a little
Scott James Remnant [Wed, 2 Dec 2015 23:53:02 +0000 (23:53 +0000)]
Merge changes I9333236a,Ie4e5992c
am:
668c69faaa
* commit '
668c69faaa8e7b04ae77557a1cb5e615d3150c9f':
Switch to osi_getbuf.
A2DP SRC offload support
Ajay Panicker [Wed, 2 Dec 2015 23:52:59 +0000 (23:52 +0000)]
Synchronize Bluetooth stack init and cleanup
am:
c28849aa58
* commit '
c28849aa58c10a4e57d6cb7e5f6d876cba4f8d99':
Synchronize Bluetooth stack init and cleanup
Scott James Remnant [Wed, 2 Dec 2015 23:49:40 +0000 (23:49 +0000)]
Merge changes I9333236a,Ie4e5992c
* changes:
Switch to osi_getbuf.
A2DP SRC offload support
Chris Elliott [Wed, 2 Dec 2015 02:03:23 +0000 (18:03 -0800)]
Switch to osi_getbuf.
Change-Id: I9333236a6ae7f880d45dbb40f68fb639775b49be
(cherry picked from commit
6f3844ceadaae752c0b3ce410cf5964d5c2baf94)
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>
Ajay Panicker [Wed, 2 Dec 2015 00:21:06 +0000 (16:21 -0800)]
Synchronize Bluetooth stack init and cleanup
Bug:
25972918
Change-Id: Ia4fb4d74f8340862233dc5073596f3082863c941
Andre Eisenbach [Wed, 2 Dec 2015 21:26:05 +0000 (21:26 +0000)]
Compile as 64-bit library; fix includes
am:
d3842ed786
* commit '
d3842ed786d7adf1de9f0f9b2cd0de18fa5576e2':
Compile as 64-bit library; fix includes
Andre Eisenbach [Tue, 13 Oct 2015 01:32:46 +0000 (18:32 -0700)]
Compile as 64-bit library; fix includes
Change-Id: Ie5305d588ff54a80f06be786264e66042ddcf022
Marie Janssen [Wed, 2 Dec 2015 20:33:13 +0000 (20:33 +0000)]
Merge "tests: don\'t use bt_os_callouts for wakelocks"
am:
c61db8d557
* commit '
c61db8d5570d78e7e03e430ec5151a55bb77bdee':
tests: don't use bt_os_callouts for wakelocks
Marie Janssen [Wed, 2 Dec 2015 20:27:26 +0000 (20:27 +0000)]
Merge "tests: don't use bt_os_callouts for wakelocks"
Jakub Pawlowski [Wed, 2 Dec 2015 19:40:20 +0000 (19:40 +0000)]
Remove BTM_OOB_INCLUDED
am:
175da70b6d
* commit '
175da70b6d60349dffdee3a9cd13182b293edf4c':
Remove BTM_OOB_INCLUDED
Marie Janssen [Mon, 16 Nov 2015 18:35:17 +0000 (10:35 -0800)]
tests: don't use bt_os_callouts for wakelocks
Introduces alarm_set_wake_lock_paths so wake lock paths can be changed
for testing, and adds AlarmTestHarness::WakeLockHeld to test whether a
wake lock is currently held.
Bug:
25387683
Change-Id: I9a41ae8266e252a3d436f8d41ea3f9e7ecb45cdc
Jakub Pawlowski [Thu, 12 Nov 2015 23:00:58 +0000 (15:00 -0800)]
Remove BTM_OOB_INCLUDED
Bug:
22932952
Change-Id: I35dbcd1881a8bd627d1b1c6759761a356d07bcb2
Andre Eisenbach [Tue, 1 Dec 2015 22:00:05 +0000 (22:00 +0000)]
Mark secure link as authenticated for LE
am:
13bb0897a9
* commit '
13bb0897a951f267680268b800084302c071e4cc':
Mark 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
Pavlin Radoslavov [Tue, 1 Dec 2015 17:57:57 +0000 (17:57 +0000)]
Fix a race condition in the HCI module start_up()
am:
c3e8824f8d
* commit '
c3e8824f8d5266ee5d33be18c690b8de8f0562aa':
Fix a race condition in the HCI module start_up()
Pavlin Radoslavov [Tue, 1 Dec 2015 01:15:23 +0000 (17:15 -0800)]
Fix a race condition in the HCI module start_up()
* Fix a race condition when using the static startup_future
inside hci_layer.c
The future_new() allocation happens inside function start_up()
and the allocated "startup_future" value is returned, so the caller can
call future_await(future).
However, if firmware_config_callback() is called on another thread
BEFORE the "return startup_future;" statement is reached, then
"startup_future" is reset to NULL. As a result, the caller
will call future_await(NULL), and we have memory leak: startup_future
is never freed.
* Fix other similar potential race conditions inside stack_manager.c
where the static "hack_future" variable could be reassigned between
the future_new() and future_await() calls.
Bug:
25766403
Change-Id: I0ef1165efba7412c190dfa2a7660189b28fa78a6
Scott James Remnant [Mon, 30 Nov 2015 22:32:44 +0000 (22:32 +0000)]
Allow Bluetooth to build on systems with no LE support
am:
dd339ab075
* commit '
dd339ab075d913334c84fe4c817c8ab09f5eda47':
Allow Bluetooth to build on systems with no LE support
Scott James Remnant [Thu, 19 Nov 2015 23:27:41 +0000 (15:27 -0800)]
Allow Bluetooth to build on systems with no LE support
Bug:
25387258
Change-Id: Ie82dae7a1a6807b398c067d4e1984a098793c589
Arman Uguray [Mon, 30 Nov 2015 21:11:49 +0000 (21:11 +0000)]
service: Refactor Client/Instance naming
am:
bb18c41ffa
* commit '
bb18c41ffa0370d4eb0c4a15904b114355606466':
service: Refactor Client/Instance naming
Arman Uguray [Thu, 12 Nov 2015 21:44:31 +0000 (13:44 -0800)]
service: Refactor Client/Instance naming
Refactored the internal interfaces so that data structures with
per-application instances such as GattClient, GattServer, and
LowEnergyClient, and all other related data structures use "instance"
to generically refer to these instances rather than "client", which
was the naming inherited from BTIF.
Bug:
25650633
Change-Id: I1bda387f5d8fdccebe5eae7f058d7f8defafe8cc
Amadeusz Slawinski [Mon, 30 Nov 2015 16:35:40 +0000 (16:35 +0000)]
Add file write error checks to config_save
am:
fd2f03a2e0
* commit '
fd2f03a2e0ab304a2b67a5a3ecf2e4e73d58e6d9':
Add file write error checks to config_save
Andre Eisenbach [Mon, 30 Nov 2015 16:35:35 +0000 (16:35 +0000)]
Merge "Set bits 4-6 to 0 in L2CAP fixed channel supported bit mask."
am:
4f820ee6f7
* commit '
4f820ee6f7a59fe1a686e69de77ec932ce8a2f3c':
Set bits 4-6 to 0 in L2CAP fixed channel supported bit mask.
Amadeusz Slawinski [Tue, 3 Nov 2015 15:09:57 +0000 (16:09 +0100)]
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.
Issue: KIONE-3099
Change-Id: Ifdb641ba7f3140655f9ec371e53b11a17484f27a
Andre Eisenbach [Mon, 30 Nov 2015 16:33:20 +0000 (16:33 +0000)]
Merge "Set bits 4-6 to 0 in L2CAP fixed channel supported bit mask."
Pavlin Radoslavov [Wed, 25 Nov 2015 16:17:51 +0000 (16:17 +0000)]
Add missing initialization of module OSI_MODULE
am:
592afafb91
* commit '
592afafb911cccc8aaa7d74c54f638e6bfb0a62d':
Add missing initialization of module OSI_MODULE
Pavlin Radoslavov [Wed, 25 Nov 2015 08:06:23 +0000 (00:06 -0800)]
Add missing initialization of module OSI_MODULE
Also, fix a resource leak (memory + file descriptors)
inside function AVDT_WriteReqOpt().
The leak was exposed by the module OSI_MODULE initialization fix
when audio is playing.
Bug:
21743601
Change-Id: Ia220042b9060b0640ac0851f4f9132ddf2773264
Jacob Lee [Mon, 23 Nov 2015 20:45:42 +0000 (20:45 +0000)]
Memory overwrite due to HDP doesn\'t allocate enough buffer
am:
4d7575b601
* commit '
4d7575b601cd3e0408312d103d0c10cf597c82ab':
Memory overwrite due to HDP doesn't allocate enough buffer
Sharvil Nanavati [Mon, 23 Nov 2015 20:45:39 +0000 (20:45 +0000)]
Reapply "Fix broken test caused by misordered callback arguments."
am:
ea01e8d0a3
* commit '
ea01e8d0a3563ce12e8c0af81da48de04eb5effc':
Reapply "Fix broken test caused by misordered callback arguments."
Jacob Lee [Fri, 11 Sep 2015 06:06:48 +0000 (14:06 +0800)]
Memory overwrite due to HDP doesn't allocate enough buffer
HDP doesn't allocate enough buffer, so L2CAP overwrite two bytes.
Allocation tracker trigger assert due to find that memory be overwrite.
Bug:
23981241
Change-Id: Ib2c27472b16de2188758ec521ef290d6c9a6c8f0
Sharvil Nanavati [Sat, 7 Nov 2015 10:12:16 +0000 (02:12 -0800)]
Reapply "Fix broken test caused by misordered callback arguments."
For some reason this change is missing from aosp/master.
Change-Id: I0b73cdf01d1a6796e224add5e5ebc686b0ac95c8
Scott James Remnant [Mon, 23 Nov 2015 20:29:35 +0000 (12:29 -0800)]
Use aosp/master version of
bdd19e08
Change-Id: I2ec22a47cb4a7e1a9d26f6cf7029214f6cd97a7e
Ajay Panicker [Mon, 23 Nov 2015 20:21:43 +0000 (20:21 +0000)]
Prevent integer overflows during GATT signing
am:
c8fd18625f
* commit '
c8fd18625fc12e9831cf5d94d315d541e3944e02':
Prevent integer overflows during GATT signing
Andre Eisenbach [Mon, 23 Nov 2015 20:21:40 +0000 (20:21 +0000)]
Raise alarm callback thread priority
am:
41a91a52b0
* commit '
41a91a52b06171140938a1aa503bab8fe15e12e4':
Raise alarm callback thread priority
Mattias Agren [Mon, 23 Nov 2015 20:21:37 +0000 (20:21 +0000)]
Reduce persistence on aquiring master role
am:
77e70b4b2d
* commit '
77e70b4b2d0b4bf1fc319a705701c1726589b2fc':
Reduce persistence on aquiring master role
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 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
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, 20 Nov 2015 21:45:31 +0000 (21:45 +0000)]
Fix flaky EagerReaderTest.test_large_data_multibyte
am:
b74ef93233
* commit '
b74ef9323325068f43e7f7765cd8b858881ab197':
Fix flaky EagerReaderTest.test_large_data_multibyte
Andre Eisenbach [Fri, 20 Nov 2015 19:41:16 +0000 (11:41 -0800)]
Fix flaky EagerReaderTest.test_large_data_multibyte
eager_reader_read() makes no guarantee that the number of bytes read
equals the number of bytes to be read. Insisting that it must in the
test can lead to race conditions where not all data is read at once and
the test fails.
Adjusted test to match API promise.
Change-Id: I5df4b6d8df61d0601402511bb3d9f29f22378981
yanlaijun [Wed, 11 Nov 2015 03:16:14 +0000 (11:16 +0800)]
Set bits 4-6 to 0 in L2CAP fixed channel supported bit mask.
The L2CAP fixed channels supported bit mask is defined by BT
core spec v4.2 Vol 3, Part A, section 4.13. As this section
describes, bits 4-6 shall be set to 0.
Change-Id: I5fa626b45e3876f8128aae8946fbce3df77532bf
Signed-off-by: yanlaijun <yan.laijun@gmail.com>
Scott James Remnant [Thu, 19 Nov 2015 22:58:42 +0000 (14:58 -0800)]
Clean up run_unit_tests wordiness
Preserve word boundaries of command-line arguments, e.g. when the
script is called with "foo bar" an argument (including quotes) don't
break it up into "foo" "bar" before passing to adb shell, etc.
Fixed a few other style issues while in there, and removed the sole
bashism so the script can just use an ordinary shell.
Change-Id: I7f9b2ea08cd7fa35b692d8f7c49006bde6e562eb
Scott James Remnant [Thu, 19 Nov 2015 22:04:15 +0000 (14:04 -0800)]
Add iterations option to run_unit_tests
e.g. ./run_unit_tests.sh -i 100 net_test_osi.EagerReaderTest.test_large_data_multibyte
Tests are reported as failed if they fail in one or more of the iterations,
and will report a count of failures. Useful for smoking out flakey tests.
Change-Id: Ibb1c1d4c3023d59782945b8f6d9bde06bfe8c589
Scott James Remnant [Thu, 19 Nov 2015 22:03:27 +0000 (14:03 -0800)]
Clean up run_unit_tests a little
Since run_tests() is only ever called once, and now has much more complex
arguments, it makes sense for it just to be the mainline of the script.
Change-Id: I64cef03212e76b0058f80e0d9450ed6cf607b9ed
Scott James Remnant [Wed, 18 Nov 2015 19:59:18 +0000 (19:59 +0000)]
Pass unknown run_unit_tests long arguments to tests
am:
6babef0456
* commit '
6babef04564490d0843504f7abe9f5217570f5ef':
Pass unknown run_unit_tests long arguments to tests
Scott James Remnant [Wed, 18 Nov 2015 19:38:50 +0000 (19:38 +0000)]
Add test filter option to run_unit_tests
am:
753c074b44
* commit '
753c074b449596f80224dec367816366fbd9bfe9':
Add test filter option to run_unit_tests