OSDN Git Service
Pavlin Radoslavov [Tue, 10 Nov 2015 02:39:03 +0000 (18:39 -0800)]
Fix SIGBUS crash when copying data
We have the following memory alignment-related issue, that seems
to be architecture/compiler/memcpy(3) specific.
Within struct tBTIF_CONTEXT_SWITCH_CBACK, the beginning of the
zero-length array "char p_param[]" is not aligned (because of the
struct internals).
However, this p_param pointer is casted within function
btif_gattc_deep_copy() to the struct pointer (btif_adv_data_t *).
By definition, the memory pointed to by such pointer is suppose
to be aligned:
btif_adv_data_t *dst = (btif_adv_data_t*) p_dest;
It seems that on some architectures/compilers the executed memcpy()
instructions are optimized for such memory alignment.
If the memory was not aligned, we get SIGBUS.
Apparently, just using (void *) casting for the memcpy() destination,
avoids using the optimized memory aligned instructions:
memcpy((void *)dst, src, ...);
The solutions are twofold:
* Make sure that "char p_param[]" within struct
tBTIF_CONTEXT_SWITCH_CBACK is aligned. Otherwise, the casting
to "(btif_adv_data_t*)" can be problematic.
* Add (void *) casting to all memcpy() calls which might be
referring to such mis-aligned memory.
This is done by using the new macro maybe_non_aligned_memcpy()
in all places that such casting might be needed.
Either solution is sufficient to prevent the crash as identified in
this particular case. We need to apply both solutions, to reduce the
chance of running again into a similar issue.
Bug:
25601669
Change-Id: I6c49645c00f10c594a5d1e53a9fac202c506657c
Andre Eisenbach [Tue, 10 Nov 2015 22:17:20 +0000 (14:17 -0800)]
Indicate failed tests in run_unit_tests.sh
Previously "run_unit_tests.sh --all" did not indicate to the user if a
unit test other than the last one failed.
Change-Id: I9b64e4280612cd9af18acc17f245b8760bea793f
Myles Watson [Wed, 11 Nov 2015 18:39:38 +0000 (18:39 +0000)]
Merge "Retry HID Polling when EINTR is returned"
Ajay Panicker [Tue, 10 Nov 2015 23:01:52 +0000 (15:01 -0800)]
Null-terminate hex string in uuid_new()
Change-Id: I28d8b9e6495992ab990e9bd618221373848957c8
Myles Watson [Tue, 10 Nov 2015 22:35:57 +0000 (14:35 -0800)]
Retry HID Polling when EINTR is returned
While I'm here
- use __func__ consistently in btif_hh_poll_event_thread.
- remove braces around a single line
BUG:
24647083
Change-Id: I80b99ff0d3ba6336f5ab7a517269fdf63df59b37
Signed-off-by: Myles Watson <mylesgw@google.com>
Andre Eisenbach [Tue, 10 Nov 2015 20:18:52 +0000 (12:18 -0800)]
Fix net_test_hci
vendor->send_command is not send during init(), it's called as a result
to calling enable().
Change-Id: I498870a63057e3644c0b889cd5be046cb41db88d
Arman Uguray [Mon, 9 Nov 2015 22:01:53 +0000 (22:01 +0000)]
Merge "service/doc: Add Binder GATT client API definition"
Ajay Panicker [Wed, 4 Nov 2015 00:45:33 +0000 (16:45 -0800)]
Fix an error loading audio.a2dp.default.so library
Fixes an issue where a symbol is being stripped from the compiled
library preventing it from being loaded.
Bug:
21743601
Change-Id: I60347e83ee85ec282c25ae76f3cf80567bcd19a2
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 [Mon, 10 Aug 2015 06:38:42 +0000 (23:38 -0700)]
Treat empty/truncated GATT cache as error
Bug:
23054535
Change-Id: I6f60ff556204dabca91ce9075d5802d75fd35857
Arman Uguray [Tue, 27 Oct 2015 02:58:46 +0000 (19:58 -0700)]
service/doc: Add Binder GATT client API definition
Added AIDL-style docs for the GATT client Binder API.
Bug:
25128256
Change-Id: I03c4c5a371600b3946a6692a3d0c87f7e529d96a
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
Pavlin Radoslavov [Thu, 5 Nov 2015 19:46:28 +0000 (11:46 -0800)]
Removed libpower-related references.
Removed libpower-related references, because those are not
needed anymore. Now, the wakelock-related calls and references
are implemented within osi/src/alarm.c
Change-Id: Ifdb232b9724af216b9b414f8b65e85cd713c20d3
Marie Janssen [Thu, 11 Jun 2015 22:18:01 +0000 (15:18 -0700)]
gn-build: Get net_test_bluetooth to compile
This makes net_test_bluetooth compile.
Bug:
21584091
Change-Id: Id0c3d6bdcfd6f2c75c749e7f5a306645371fbb25
Andre Eisenbach [Wed, 4 Nov 2015 16:28:30 +0000 (08:28 -0800)]
Fix bug in SDP 128-bit UUID lookup
Also re-factored the surrounding code slightly to where it would have
prevented this type of bug in the first place...
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 [Mon, 2 Nov 2015 20:46:32 +0000 (20:46 +0000)]
Merge "Rename net_test_bluedroid to net_test_bluetooth"
am:
c2ad136c3e
* commit '
c2ad136c3e19ca526356d7fd6fe44dcc1e7aa062':
Rename net_test_bluedroid to net_test_bluetooth
Andre Eisenbach [Mon, 2 Nov 2015 20:39:59 +0000 (20:39 +0000)]
Merge "Rename net_test_bluedroid to net_test_bluetooth"
Andre Eisenbach [Mon, 2 Nov 2015 18:56:05 +0000 (18:56 +0000)]
Fix interop database unit test
am:
f2a7e6c4eb
* commit '
f2a7e6c4eba75d8c8a3103fe27bcd06f669d609e':
Fix interop database unit test
Andre Eisenbach [Mon, 2 Nov 2015 18:47:28 +0000 (10:47 -0800)]
Fix interop database unit test
Change-Id: Id2e45582b92e83804b55d4e8c918e32a6a2dab79
Andre Eisenbach [Fri, 30 Oct 2015 17:27:42 +0000 (17:27 +0000)]
Merge "Serialize remote version query over LE"
am:
a0a3dacd68
* commit '
a0a3dacd682cc3e8c9ee4b5a196e06aeada6cc49':
Serialize remote version query over LE
Andre Eisenbach [Fri, 30 Oct 2015 17:23:08 +0000 (17:23 +0000)]
Merge "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 [Fri, 30 Oct 2015 16:16:34 +0000 (16:16 +0000)]
Remove unused HCI_PROTO_REVISION
am:
879aeec727
* commit '
879aeec72706fc7bae66277350ae9a49648a73e7':
Remove unused HCI_PROTO_REVISION
Andre Eisenbach [Tue, 27 Oct 2015 20:26:19 +0000 (13:26 -0700)]
Remove unused HCI_PROTO_REVISION
Change-Id: Icec52e4e63b14f2fe7a61cf5077e40c5e8baeff5
Andre Eisenbach [Thu, 29 Oct 2015 18:18:20 +0000 (11:18 -0700)]
Rename net_test_bluedroid to net_test_bluetooth
Also remove other bluedroid references.
Change-Id: I349e48e50b0a0a45ca1267a765145299837601d3
Marie Janssen [Tue, 27 Oct 2015 23:12:28 +0000 (23:12 +0000)]
Enable kernel wakelocks and timers
am:
28bf007f71
* commit '
28bf007f7103ccd36d5fa2f87837947a27cc698d':
Enable kernel wakelocks and timers
Marie Janssen [Mon, 21 Sep 2015 17:49:08 +0000 (10:49 -0700)]
Enable kernel wakelocks and timers
Use kernel wakelocks now that they are available to us, and use thread
timers instead to eliminate bt_os_callouts usage.
Bug:
23390297
Change-Id: Ic9428457807eab5125d35eae3df6cd2a05a2a659
Andre Eisenbach [Tue, 27 Oct 2015 20:30:54 +0000 (20:30 +0000)]
Check remote LMP version before enabling secure connections
am:
27e239dbd3
* commit '
27e239dbd31dd9ee7fab5fb8558fbd2292cf7e5d':
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
Andre Eisenbach [Wed, 21 Oct 2015 20:54:58 +0000 (20:54 +0000)]
Workaround for H4 HCI stream corruption during LE scans
am:
bdd19e0873
* commit '
bdd19e0873854567bb6bd9bc8905a87a3a4744c4':
Workaround for H4 HCI stream corruption during LE scans
Andre Eisenbach [Wed, 21 Oct 2015 20:54:55 +0000 (20:54 +0000)]
Remove absolute volume control whitelist
am:
58593a0273
* commit '
58593a02736ff9ac9bdccd0e3186602f17452cdf':
Remove absolute volume control whitelist
Andre Eisenbach [Wed, 21 Oct 2015 20:54:51 +0000 (20:54 +0000)]
Fix 128-bit UUID byte order for GATT-over-BR/EDR
am:
61968383a6
* commit '
61968383a63be05a335e26bc53ef39d9af98ad72':
Fix 128-bit UUID byte order for GATT-over-BR/EDR
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 [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
Scott James Remnant [Tue, 20 Oct 2015 23:11:48 +0000 (23:11 +0000)]
doc: add supported features document
am:
ac43e88a0a
* commit '
ac43e88a0aa375e712683e2b218d876c616e6f5e':
doc: add supported features document
Scott James Remnant [Tue, 20 Oct 2015 22:54:06 +0000 (15:54 -0700)]
doc: add supported features document
Summarize the versions and roles of each profile/protocol listed
in our Qualified Design, and provide a link to the QDID.
Change-Id: I8cfbbd466c684cb95de5433b3d7fa0f1fd567689
Sharvil Nanavati [Fri, 4 Sep 2015 09:06:45 +0000 (02:06 -0700)]
DO NOT MERGE Revert "am
b3ca1b37: resolved conflicts for merge of
a905eb62 to mnc-dr-dev-plus-aosp"
This reverts commit
2f86b2fc188edb0ba50483e624bd982a594c6633, reversing
changes made to
15c3ad9c08b864f63ed2581a10a65107fbe04752.
Change-Id: I43500eb0513180db8ba5b4ecc9f2dec934173c7f
Scott James Remnant [Tue, 20 Oct 2015 01:46:48 +0000 (18:46 -0700)]
DO NOT MERGE fix am error for
1dffda3b
Change-Id: Ic11a786ccf99ae50178b906f2163500c3af55612
Scott James Remnant [Mon, 19 Oct 2015 17:48:06 +0000 (10:48 -0700)]
DO NOT MERGE Revert "DO NOT MERGE Use POSIX timer API for wake alarms instead of OSI callouts."
Also reverts:
"Fix build: use unsigned long long in arithmetic expression."
"Fix build: add LOG_TAG parameter to LOG_* macros."
These CLs cause build failures on various platforms, an alternate
approach is being developed.
Scott James Remnant [Tue, 20 Oct 2015 01:30:36 +0000 (01:30 +0000)]
Correct project name in Style Guide
am:
d20656568b
* commit '
d20656568beb2f3d1a6528771e6ac463ca92364c':
Correct project name in Style Guide
Scott James Remnant [Tue, 20 Oct 2015 01:30:28 +0000 (01:30 +0000)]
Resolve merge resolution differences between branches
am:
02a29284a2 -s ours
* commit '
02a29284a26a9d63210865ae9f086c0ad730ca78':
Resolve merge resolution differences between branches
Scott James Remnant [Tue, 20 Oct 2015 01:02:03 +0000 (18:02 -0700)]
Correct project name in Style Guide
Change-Id: I07f41629b06820b85bf95ca255c68fc2ea78217a
Scott James Remnant [Mon, 19 Oct 2015 23:23:28 +0000 (16:23 -0700)]
Resolve merge resolution differences between branches
Change-Id: I7b2f5bcf3a43aacdfbb740589ca1538ade149473
Andre Eisenbach [Mon, 19 Oct 2015 21:09:10 +0000 (14:09 -0700)]
am
36d0e2b9: Add Flic smart button to interop database
* commit '
36d0e2b97be8b04d6607e9c1d76bbd2c9c891305':
Add Flic smart button to interop database
Pavlin Radoslavov [Mon, 19 Oct 2015 21:09:10 +0000 (14:09 -0700)]
am
1946f251: Add missing LOG_TAG as the first argument to LOG_ERROR()
* commit '
1946f2516f5d1384ea7d25bb87d019c1875ae7f0':
Add missing LOG_TAG as the first argument to LOG_ERROR()
Pavlin Radoslavov [Mon, 19 Oct 2015 21:09:09 +0000 (14:09 -0700)]
am
577862e0: Update the usage of fixed_queue.
* commit '
577862e0d87891164a469afcecd1135bf04d1f6e':
Update the usage of fixed_queue.
Scott James Remnant [Mon, 19 Oct 2015 21:05:46 +0000 (14:05 -0700)]
resolved conflicts for
5b9b1b89 to stage-aosp-master
Change-Id: I26781a825590a9effbc7d622391775b2eca58902
Pavlin Radoslavov [Mon, 19 Oct 2015 20:33:18 +0000 (13:33 -0700)]
am
e29c3430: GKI cleanup - removed PORT_SCHEDULE_LOCK / UNLOCK macros
* commit '
e29c3430bfee2d92ba09c3cb4780a577ffc90712':
GKI cleanup - removed PORT_SCHEDULE_LOCK / UNLOCK macros
Pavlin Radoslavov [Mon, 19 Oct 2015 20:33:17 +0000 (13:33 -0700)]
am
258c2538: GKI cleanup - moved GKI buffer allocation wrappers to OSI
* commit '
258c2538e3b62a8cdb403f2730c45d721e5292b4':
GKI cleanup - moved GKI buffer allocation wrappers to OSI
Pavlin Radoslavov [Mon, 19 Oct 2015 20:33:17 +0000 (13:33 -0700)]
am
9f1c9ad8: GKI cleanup - Moved struct TIMER_LIST_ENT to OSI
* commit '
9f1c9ad85759c7663e3bbc494f8e75b2f107da67':
GKI cleanup - Moved struct TIMER_LIST_ENT to OSI
Pavlin Radoslavov [Mon, 19 Oct 2015 20:33:16 +0000 (13:33 -0700)]
am
1a3844f9: GKI cleanup - Replaced usage of GKI queue with OSI fixed_queue
* commit '
1a3844f933bd63c8a381371dabfb35c6a0249e3e':
GKI cleanup - Replaced usage of GKI queue with OSI fixed_queue
Pavlin Radoslavov [Mon, 19 Oct 2015 20:33:15 +0000 (13:33 -0700)]
am
1eb1ea0c: GKI cleanup - Moved functions GKI_disable() and GKI_enable() to OSI
* commit '
1eb1ea0cf2da992a3193506806e571dcbe3ec947':
GKI cleanup - Moved functions GKI_disable() and GKI_enable() to OSI
Pavlin Radoslavov [Mon, 19 Oct 2015 20:24:32 +0000 (13:24 -0700)]
resolved conflicts for
c196f214 to stage-aosp-master
Change-Id: I3c8acd59271180d5c11760d08ea960bb90040a8e
Pavlin Radoslavov [Mon, 19 Oct 2015 19:55:07 +0000 (12:55 -0700)]
am
89ba148d: Disable opening network debug ports for security reasons
* commit '
89ba148d2e19e6633318dd2d9a04bd2728281c30':
Disable opening network debug ports for security reasons
Scott James Remnant [Mon, 19 Oct 2015 19:21:22 +0000 (12:21 -0700)]
resolved conflicts for
2181f1a4 to stage-aosp-master
Change-Id: Ie6dd56d2605e732f9f9e08269d361288bb888874
Pavlin Radoslavov [Mon, 19 Oct 2015 19:10:39 +0000 (12:10 -0700)]
am
70ae7de9: GKI cleanup - Remove GKI pool related defines
* commit '
70ae7de9451e3dc074a048ba98b672a6ba3a4551':
GKI cleanup - Remove GKI pool related defines
Pavlin Radoslavov [Mon, 19 Oct 2015 19:10:38 +0000 (12:10 -0700)]
am
1d5b8592: GKI cleanup - Eliminate function GKI_get_pool_bufsize()
* commit '
1d5b85924df3a114efe6588e857d0de3eb47b1d2':
GKI cleanup - Eliminate function GKI_get_pool_bufsize()
Pavlin Radoslavov [Mon, 19 Oct 2015 19:10:38 +0000 (12:10 -0700)]
am
21cce2ec: GKI cleanup - Eliminated function GKI_poolcount
* commit '
21cce2ecb75265845e7b24f2cde11e104b074838':
GKI cleanup - Eliminated function GKI_poolcount
Pavlin Radoslavov [Mon, 19 Oct 2015 19:10:37 +0000 (12:10 -0700)]
am
2e3d006b: GKI cleanup - Eliminate usage of pool buffers
* commit '
2e3d006b96eafb0651fe7f78d28250faf89405de':
GKI cleanup - Eliminate usage of pool buffers
tturney [Mon, 19 Oct 2015 19:10:37 +0000 (12:10 -0700)]
am
6b24485c: Fix PAN and AV role switch war
* commit '
6b24485cec18ea111b05bc23f61d9c3f6a6b8747':
Fix PAN and AV role switch war
Andre Eisenbach [Mon, 19 Oct 2015 19:10:37 +0000 (12:10 -0700)]
am
410970f2: Ensure thread priority is raised for media task / UIPC
* commit '
410970f285ff34e6f1952dec2202825d890c3a0d':
Ensure thread priority is raised for media task / UIPC
Andre Eisenbach [Mon, 19 Oct 2015 19:10:36 +0000 (12:10 -0700)]
am
8c24123f: Change UHID socket to be non-blocking
* commit '
8c24123f9897991d228865c7eec35e33569e46bb':
Change UHID socket to be non-blocking
Nitin Shivpure [Mon, 19 Oct 2015 19:10:36 +0000 (12:10 -0700)]
am
7f2eed69: Check BR device count before initiating role switch
* commit '
7f2eed693f328843ed912144ed6ffcab0f2e3e75':
Check BR device count before initiating role switch
Pavlin Radoslavov [Mon, 19 Oct 2015 19:10:35 +0000 (12:10 -0700)]
am
642f2330: GKI cleanup - Eliminated function GKI_delay
* commit '
642f233005cdcbbbcb92b77d6297fc080b7f072e':
GKI cleanup - Eliminated function GKI_delay
Sharvil Nanavati [Mon, 19 Oct 2015 19:10:35 +0000 (12:10 -0700)]
am
de86bfa2: Add libpower as a dependency to all device targets that include libosi.
* commit '
de86bfa27b3ae6a9812788efe2b76fa3e7931d56':
Add libpower as a dependency to all device targets that include libosi.
tturney [Mon, 19 Oct 2015 19:10:34 +0000 (12:10 -0700)]
am
20a1555a: Allow BT inquiry while discovery is in progress.
* commit '
20a1555a0665efaab69ff25b3e7842d5f6c110c8':
Allow BT inquiry while discovery is in progress.
Pavlin Radoslavov [Mon, 19 Oct 2015 19:10:34 +0000 (12:10 -0700)]
am
7b4fdb40: Eliminate recursive calling when handling GATT related errors
* commit '
7b4fdb40e81a68d254f6bf7cefbc385d978fb9d0':
Eliminate recursive calling when handling GATT related errors
wang ping [Mon, 19 Oct 2015 19:10:33 +0000 (12:10 -0700)]
am
aafe557b: Fix issue where bluesleep idle timer is not started
* commit '
aafe557b56f2fb97a9d96a86bef8b4d6886cc6b3':
Fix issue where bluesleep idle timer is not started
tturney [Mon, 19 Oct 2015 19:10:33 +0000 (12:10 -0700)]
am
530f7727: Fix btwrite timer timeout for Angler (2/2)
* commit '
530f7727badf163705eb9638533f5af5d89fcacf':
Fix btwrite timer timeout for Angler (2/2)
Joshua Schwarz [Mon, 19 Oct 2015 19:10:32 +0000 (12:10 -0700)]
am
9d0965c9: Implementation of net_test_bluedroid as a GTest.
* commit '
9d0965c9c9aaeac3dbb3b1ba5f76b3d9010f3eaa':
Implementation of net_test_bluedroid as a GTest.
Jacob Lee [Mon, 19 Oct 2015 19:10:32 +0000 (12:10 -0700)]
am
fda32d91: LE Multi-Advertising State Change Sub-event Wrong Variable Type
* commit '
fda32d91ec7f5a2e04464d19a6e57cddbe81c2e7':
LE Multi-Advertising State Change Sub-event Wrong Variable Type
Sunny Kapdi [Mon, 19 Oct 2015 19:10:31 +0000 (12:10 -0700)]
am
4602429d: Fix incorrect SetConnScanParam function mapping
* commit '
4602429dbcf5a5d6076f65450354be4db9f0f114':
Fix incorrect SetConnScanParam function mapping
Chih-Hung Hsieh [Mon, 19 Oct 2015 19:10:31 +0000 (12:10 -0700)]
am
11026214: Enable clang compilation.
* commit '
110262140c4ab383a27d19c08e33f5937bd09c11':
Enable clang compilation.
Sharvil Nanavati [Mon, 19 Oct 2015 19:10:31 +0000 (12:10 -0700)]
am
3858011b: Send current RPA instead of pseudo-address on connect.
* commit '
3858011befbf62ac8c38af1493d9c61d43f999da':
Send current RPA instead of pseudo-address on connect.
Eric Laurent [Mon, 19 Oct 2015 19:10:30 +0000 (12:10 -0700)]
am
f34d336a: (-s ours) A2DP audio HAL: implement out_get_presentation_position()
* commit '
f34d336a16a6788f667355b70a4d53b1325a25ed':
A2DP audio HAL: implement out_get_presentation_position()
Ajay Panicker [Mon, 19 Oct 2015 19:03:02 +0000 (12:03 -0700)]
am
28f294b9: Load factory Bluetooth address from system property
* commit '
28f294b94f6e05f4572672671535f66bb60f0c0a':
Load factory Bluetooth address from system property
Sharvil Nanavati [Mon, 19 Oct 2015 19:03:02 +0000 (12:03 -0700)]
am
6a42cbdb: Add a SCO routing command to net_hci.
* commit '
6a42cbdb53d856a364a0c0fac28a732b55bc1cd9':
Add a SCO routing command to net_hci.
Andre Eisenbach [Mon, 19 Oct 2015 19:03:01 +0000 (12:03 -0700)]
am
2af0bb6e: Fix merge discrepencies and resulting compile errors
* commit '
2af0bb6e5f6b380f374d510c54eabdf74c32bdf2':
Fix merge discrepencies and resulting compile errors
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
Pavlin Radoslavov [Thu, 8 Oct 2015 16:52:11 +0000 (09:52 -0700)]
Add missing LOG_TAG as the first argument to LOG_ERROR()
NOTE: This fix is needed as a side-effect of code merged
from different branches.
Change-Id: I1d25e719605d75899253732bd3d10ca0b552d244
Pavlin Radoslavov [Thu, 8 Oct 2015 01:07:48 +0000 (18:07 -0700)]
Update the usage of fixed_queue.
* Relax non-NULL requirements for fixed_queue by eliminating
some of the asserts.
Now, when semantically possible, fixed_queue - related function
will return the appropriate value even if the queue pointer is NULL.
This reduces clutter in the code where we had to do anyway
"if (queue != NULL)" checks.
* Add non-NULL guards in the few remaining places where
fixed_queue_get_list(). For now, we need to use this function,
hence the extra check.
That function should be eliminated in the future, because all the
code where it is used violates the semantics of using a queue.
Bug:
24723840
Change-Id: I47632a3515f3d27856d4870e18723d345c040d64
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 [Mon, 28 Sep 2015 06:27:10 +0000 (23:27 -0700)]
GKI cleanup - removed PORT_SCHEDULE_LOCK / UNLOCK macros
Removed macros PORT_SCHEDULE_LOCK and PORT_SCHEDULE_UNLOCK
and replaced them with direct calls to mutex_global_lock()
and mutex_global_unlock() respectively.
Change-Id: I84a365feec239612b2224f029ae59f260cdb24a4
Pavlin Radoslavov [Mon, 28 Sep 2015 03:59:05 +0000 (20:59 -0700)]
GKI cleanup - moved GKI buffer allocation wrappers to OSI
* Moved the following GKI buffer allocation functions to OSI:
- GKI_getbuf() -> osi_getbuf()
- GKI_freebuf() -> osi_freebuf()
- GKI_get_buf_size() -> osi_get_buf_size()
For now we need the osi_getbuf() / osi_freebuf() allocation wrapper,
because we need to be able to call osi_get_buf_size() on the allocated
buffer.
In the future those should be replaced with osi_malloc() / osi_free().
Currently, the osi_malloc() buffer size internal allocation tracker
does not always track the size, hence we need the osi_getbuf() wrapper.
* Replaced GKI_MAX_BUF_SIZE with BT_DEFAULT_BUFFER_SIZE
* Added new file include/bt_common.h that can be usee to include
few files that should be included alost everywhere (e.g. bt_target.h"
NOTE: This file might be removed in the future and we should include
everywhere the right set of header files.
* Removed some of the GKI-related references
* Removed file include/gki_target.h
Change-Id: Ie87830e73143de200746d54235aa99f228a95024
Pavlin Radoslavov [Mon, 28 Sep 2015 02:39:37 +0000 (19:39 -0700)]
GKI cleanup - Moved struct TIMER_LIST_ENT to OSI
* Moved struct TIMER_LIST_ENT to file osi/include/non_repeating_timer.h
and renamed it to timer_entry_t
NOTE: This is a short-term solution. timer_entry_t should be
removed, and its usage everywhere should be replaced by
struct non_repeating_timer_t .
* Renamed TIMER_CBACK to timer_callback_t
* Renamed TIMER_PARAM_TYPE to timer_param_t
Change-Id: I9ca830718bf900195f9c0a513a97f6995322693b
Pavlin Radoslavov [Fri, 25 Sep 2015 18:21:15 +0000 (11:21 -0700)]
GKI cleanup - Replaced usage of GKI queue with OSI fixed_queue
* Added new functions to OSI:
- fixed_queue_init()
- fixed_queue_length()
- fixed_queue_try_remove_from_queue()
- fixed_queue_try_peek_last()
* Renamed fixed_queue_try_peek() to fixed_queue_try_peek_first()
* Replaced usage of GKI queue functions with OSI fixed_queue functions:
- GKI_init_q() -> fixed_queue_new(SIZE_MAX)
NOTE: unlike GKI_init_q(), fixed_queue_new() allocates memory /
state that needs to be released by calling fixed_queue_free()
- GKI_enqueue() -> fixed_queue_enqueue()
- GKI_dequeue() -> fixed_queue_try_dequeue()
NOTE: fixed_queue_try_dequeue() is non-blocking
- GKI_queue_length() -> fixed_queue_length()
- GKI_queue_is_empty() -> fixed_queue_is_empty()
- GKI_getfirst() -> fixed_queue_try_peek_first()
- GKI_getlast() -> fixed_queue_try_peek_last()
- GKI_remove_from_queue() -> fixed_queue_try_remove_from_queue()
- Queue elements iteration.
In the fixed_queue implementation we have to use the underlying
list_t mechanism to iterate over the elements.
OLD:
p = GKI_getfirst(queue);
...
while ((p = GKI_getnext(p) != NULL) {
...
}
NEW:
list_t *list = fixed_queue_get_list(queue);
for (const list_node_t *node = list_begin(list);
node != list_end(list); node = list_next(node)) {
p = list_node(node);
}
* Remove initialization of the GKI module, because it is not needed
anymore
* Removed unused files in GKI:
gki/common/gki_common.h
gki/ulinux/gki_int.h
gki/ulinux/gki_ulinux.c
Change-Id: I3ff9464db75252d6faf7476a9ca67c88e535c51c
Pavlin Radoslavov [Fri, 25 Sep 2015 05:07:53 +0000 (22:07 -0700)]
GKI cleanup - Moved functions GKI_disable() and GKI_enable() to OSI
Added new functions mutex_global_lock() and mutex_global_unlock()
within the OSI module, and replaced GKI_disable() and GKI_enable()
with those functions.
Also, minor cleanup in the gki.h header file.
Change-Id: I5f410e3174541224fcf30f37e1524ef099c25193
Pavlin Radoslavov [Thu, 24 Sep 2015 03:39:53 +0000 (20:39 -0700)]
GKI cleanup - Moved GKI_get_os_tick_count() to OSI
* Renamed function GKI_get_os_tick_count() to time_get_os_boottime_ms()
and moved it to the OSI module: to the new file osi/src/time.c .
The corresponding header file is osi/include/time.h
* Added unit tests for function time_get_os_boottime_ms() in file
osi/test/time_test.cpp
* Removed "osi/include" from the list of paths to search for include
files. This is needed, because file name collision of "time.h"
in osi/include and the system <time.h>
Change-Id: I934be0c8f392150a352947326546bcf8aa070f97
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
Pavlin Radoslavov [Wed, 23 Sep 2015 21:49:24 +0000 (14:49 -0700)]
GKI cleanup - Remove GKI pool related defines
* Removed pool ID related defines
* Updated / renamed / cleanup buffer size related defines
* Added new #define BT_DEFAULT_BUFFER_SIZE
* Removed unused defines
Change-Id: Ib1fbf463d1e6fda2c71631347de0c365a37ba5ce
Pavlin Radoslavov [Wed, 23 Sep 2015 17:08:20 +0000 (10:08 -0700)]
GKI cleanup - Eliminate function GKI_get_pool_bufsize()
Change-Id: I87168157b9bb3e9d315c03b98a10d18b38cce3e1
Pavlin Radoslavov [Tue, 22 Sep 2015 18:27:30 +0000 (11:27 -0700)]
GKI cleanup - Eliminated function GKI_poolcount
Refactored function l2c_link_adjust_chnl_allocation.
Now the buffer quota computation is done without using the
GKI poll counts.
Change-Id: I669492becc9024c12f3360ea58a06188caa6420a
Pavlin Radoslavov [Fri, 18 Sep 2015 17:51:31 +0000 (10:51 -0700)]
GKI cleanup - Eliminate usage of pool buffers
* Replace usage of function GKI_getpoolbuf() with GKI_getbuf()
* Remove usage of function GKI_poolutilization()
* Remove usage of function GKI_poolfreecount()
Change-Id: Ide938192b878bbfb4912642c903fce548f2b5368
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 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