OSDN Git Service
Pavlin Radoslavov [Mon, 9 May 2016 02:12:53 +0000 (19:12 -0700)]
Update l2c_fcr_clone_buf() to allocate large enough buffer
Apparently, in some parts of the code we assumed the original
buffer size is large enough and we can extend it and write
few more octets at the end.
Bug:
28351270
Change-Id: Idc53d8f68e55808c9f6bf7f18568288304a9bfb9
TreeHugger Robot [Fri, 6 May 2016 04:38:53 +0000 (04:38 +0000)]
Merge "Call BTA_VendorCleanup() during actual cleanup of the stack" into nyc-dev
Ajay Panicker [Thu, 5 May 2016 19:51:49 +0000 (12:51 -0700)]
Fix size of SDP black list array
Bug:
28617843
Change-Id: Iff5690e3aae42d9907ed9351f1059461985c8a20
Pavlin Radoslavov [Thu, 5 May 2016 23:20:15 +0000 (16:20 -0700)]
Call BTA_VendorCleanup() during actual cleanup of the stack
Previously, BTA_VendorCleanup() was called during the shutdown
process, and this created race condition crashing the stack.
Bug:
28450506
Change-Id: Ibee90d406036862b95d18e2ef00b08b820c70f68
Andy Hung [Wed, 4 May 2016 22:47:05 +0000 (15:47 -0700)]
Match socket buffer sizes between audio HAL and BT server
Adjust our mixer buffer size to be one quarter that of
the socket buffer size for quadruple buffering.
Increase socket buffer size from 20*512 to 28*512 to
smooth out variability in data draw from AudioFlinger.
Bug:
28286313
Change-Id: I8a9ca9e1f4639a0724cfe126acc670c2058cb0fb
Andre Eisenbach [Thu, 5 May 2016 17:57:44 +0000 (10:57 -0700)]
Return handle if an RFCOMM port is already open
By returning the handle, the upper layer (BTA) will attempt to
disconnect on failure to connect. Thus the attempt to open the port will
still fail, but any subsequent attempts will be able to recover.
Bug:
27204458
Change-Id: I0f8489b98adeb7f5e217201ffbbb35132a66f210
TreeHugger Robot [Thu, 5 May 2016 02:09:02 +0000 (02:09 +0000)]
Merge "Avoid NULL pointer usage of startup_future in case of HCI startup timeout" into nyc-dev
Pavlin Radoslavov [Wed, 4 May 2016 06:00:15 +0000 (23:00 -0700)]
Fixed test_periodic_unregister_processing_queue unit test
Removed a copy-and-paste check in the
test_periodic_unregister_processing_queue unit test.
The removed check adds little value - it has time-dependency,
and is not robust.
Bug:
26982349
Change-Id: I4adb948713b9946b5eb821d6fe52b7ada1400182
Pavlin Radoslavov [Wed, 4 May 2016 03:20:06 +0000 (20:20 -0700)]
Avoid NULL pointer usage of startup_future in case of HCI startup timeout
Previously, the startup_timer was created within the HCI layer start_up()
function, and after several vendor calls, we created the startup_future
that is used elsewhere. However, if any of the vendor calls blocks for
very long time, the startup_timer will timeout.
The startup_timer_expired() callback will try to use startup_future
that is still NULL, and that will trigger an assert.
The issue is avoided by creating the startup_future right before
the startup_timer is scheduled.
Bug:
28528815
Change-Id: Ib9f2c6581a86d3df0fd4d02d0b4c290663b5cfa1
Pavlin Radoslavov [Mon, 2 May 2016 17:52:07 +0000 (10:52 -0700)]
Update alarm_unregister_processing_queue() to cancel scheduled alarms
Update the alarm_unregister_processing_queue() implementation
so it cancels all alarms that are scheduled on the corresponding
queue.
This fixes a race condition during Bluetooth shutdown: if an alarm
expires right after an alarm processing queue is invalidated,
the alarm processing would try to use the invalidated queue.
Added the corresponding unit tests.
Also, added a missing call to alarm_unregister_processing_queue().
Bug:
26982349
Change-Id: I09a111e8080b6dbc354dffa03a487f7a8c578ce6
TreeHugger Robot [Tue, 3 May 2016 00:44:56 +0000 (00:44 +0000)]
Merge "Add read/write timeout to the audio sockets" into nyc-dev
Pavlin Radoslavov [Mon, 2 May 2016 22:53:22 +0000 (15:53 -0700)]
Fix test_set_zero_periodic unit test failure
Removed an "EXPECT_EQ(cb_counter, 0)" statement
right after a timer of value 0 is scheduled.
The EXPECT_EQ statement shouldn't be there,
because by the time it is reached, the callback might
have been called already.
Change-Id: I61fbec96c436787321c6b36006a2bc1c0e627667
Pavlin Radoslavov [Mon, 2 May 2016 20:40:26 +0000 (13:40 -0700)]
Add read/write timeout to the audio sockets
Add read/write timeout of 2 seconds when reading/writing
from/to the audio-related control and data sockets.
Also, removed unnecessary poll(POLLOUT), because it is not needed anymore.
Bug:
27996931
Change-Id: Ib214a85f4837760b17cded155464957f56806bd3
Sharvil Nanavati [Sat, 30 Apr 2016 04:15:29 +0000 (04:15 +0000)]
Merge "DO NOT MERGE ANYWHERE" into cw-e-dev am:
560033035b -s ours
am:
9c68fd9a4d -s ours
* commit '
9c68fd9a4d4e832664aeb91380bc5d1c444b4a2b':
DO NOT MERGE ANYWHERE
Change-Id: Idee1fabfffc5a3cc04e8aaf7d586bbd4c41e9e3a
Chenjie Luo [Sat, 30 Apr 2016 04:15:27 +0000 (04:15 +0000)]
Merge "DO NOT MERGE ANYWHERE Disconnect the AVDT connection for A2DP SRC device." into cw-e-dev am:
5084f0166e -s ours
am:
2c8ae3d115 -s ours
* commit '
2c8ae3d1153e1a69383171a8c5be50a894952132':
DO NOT MERGE ANYWHERE Disconnect the AVDT connection for A2DP SRC device.
Change-Id: I5efb950b73e2f30966013ccebc6366c9d3c2a10a
Sharvil Nanavati [Sat, 30 Apr 2016 04:15:25 +0000 (04:15 +0000)]
DO NOT MERGE ANYWHERE am:
95f816945a -s ours
am:
0e2a631634 -s ours
* commit '
0e2a631634ff759cba204b027284fa2ba3a07ba6':
DO NOT MERGE ANYWHERE
Change-Id: I90953865e007542f493d6da6c47599e71467b664
Devin Kim [Sat, 30 Apr 2016 04:15:24 +0000 (04:15 +0000)]
Do not send AT+CHLD=? if the 3-way call feature is not supported am:
79dc36d01a
am:
b616d01f01
* commit '
b616d01f01b8ebaa30629916556a86b423be758f':
Do not send AT+CHLD=? if the 3-way call feature is not supported
Change-Id: I478b834744c25f03d1202b1834279adb2c29d22a
Sathya Kumar [Sat, 30 Apr 2016 04:15:22 +0000 (04:15 +0000)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links am:
a8bb3ae08b -s ours
am:
66f79db6e6 -s ours
* commit '
66f79db6e607e3c51656a5532618b94c847118de':
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links
Change-Id: I1f3de149a2fc44b8ad6cc39341cd69349eeb3c82
Sharvil Nanavati [Sat, 30 Apr 2016 00:06:08 +0000 (17:06 -0700)]
resolve merge conflicts of
00a44d2 to nyc-dev
Change-Id: I64ef6cb1eb5996674e9919d13fadd43ede1d4b8c
Pavlin Radoslavov [Fri, 29 Apr 2016 22:12:33 +0000 (15:12 -0700)]
resolve merge conflicts of
f7388e6 to nyc-dev
Change-Id: I149778411a50fc5881b84cec01a2a4b43cbd2b5c
Sharvil Nanavati [Fri, 29 Apr 2016 19:35:45 +0000 (12:35 -0700)]
Fix build break caused by missing braces around struct initializer.
Change-Id: Iba376e9e4fdcfc032bdd2d20a6de7ba18c8de98c
Andre Eisenbach [Fri, 29 Apr 2016 18:34:14 +0000 (18:34 +0000)]
Merge "Additional headsets blacklisted for absolute volume" into mnc-dr1.5-dev
am:
006ede7ac2
* commit '
006ede7ac2c509ca6cba4d34b3f048bb3b6f429f':
Additional headsets blacklisted for absolute volume
Change-Id: I268c859ba121f524147ba0a7878f1705d47b8976
Marie Janssen [Fri, 29 Apr 2016 18:34:12 +0000 (18:34 +0000)]
Fix crashes with lots of discovered LE devices am:
05419c8b96 am:
7a5fa57019 am:
0ff343e006
am:
6b0e6b5779
* commit '
6b0e6b57797bdf4af5656438404c91f7fe4f6ef1':
Fix crashes with lots of discovered LE devices
Change-Id: I4d45aa391459c932396c8f7bb06f24079da8f48c
Sharvil Nanavati [Thu, 28 Apr 2016 21:54:35 +0000 (14:54 -0700)]
resolve merge conflicts of
405ec18 to nyc-dev
Change-Id: I94b431287ae831d64dc734f8cd3f071e49a9d6eb
Pavlin Radoslavov [Tue, 26 Apr 2016 19:18:36 +0000 (12:18 -0700)]
Fix issues during cleanup stage of the Bluetooth stack
* Moved free-ing of bta_av_cb timers from the init function
to the cleanup stage.
* Changed the usage of btif_jni_disassociate() so it is called
synchronously. Its previous usage was complicated -
the function was called asynchronously on a different thread,
and we had to wait on a future for its completion.
* Renamed function btif_shutdown_bluetooth() to
btif_cleanup_bluetooth() to represent better its purpose.
Similarly, bte_main_shutdown() is renamed to bte_main_cleanup()
Also:
* Removed function btif_init_fail(), because it is not used.
* Updated an error log message inside function
btif_in_execute_service_request() so the log information
is accurate and more useful.
* Updated the log messages related to the lifecycle of a module
in btcore/src/module.c
Bug:
26982349
Change-Id: Icd6f159d993bdb9c8ef09bfb5b1386b3d6ea4ff2
Andre Eisenbach [Tue, 26 Apr 2016 16:51:06 +0000 (09:51 -0700)]
Do not log unsolicited NOOP command complete events
Bug:
27744135
Change-Id: I683e3a9f0a116f83763ebcf4d0583ea1c89ef5b2
Andre Eisenbach [Wed, 30 Mar 2016 03:26:13 +0000 (03:26 +0000)]
Revert "Turn down excess logging in bt hci"
This log message is likely very necessary and if you see this excessively, we will want to know about it...
This reverts commit
11cfdf303c420d14e6cf3e4d2ca856b827ba44cf.
Change-Id: Iefd46b7aab3373a1547d83c05166fa21034c51a0
Pavlin Radoslavov [Mon, 25 Apr 2016 19:29:29 +0000 (12:29 -0700)]
Fix a race condition during alarm_cleanup()
Fix a race condition inside function alarm_cleanup() that
could be triggered during shutdown.
Also, fix few other issues:
* Add missing "timer_delete(akeup_timer)" statement inside
alarm_cleanup()
* Fix the argument when calling "timer_delete(timer)"
* Call "semaphore_free(alarm_expired)" inside alarm_cleanup()
after the corresponding "timer" and "wakeup_timer" have
been deleted.
* Fix the argument type when calling eventfd_read() inside
semaphore_wait()
Bug:
26982349
Change-Id: I2b00cd7ee7f56f755775f8e7b370006e31c6eb08
Bluetooth Build Test [Wed, 13 Apr 2016 14:39:53 +0000 (16:39 +0200)]
Fix sluggish HID devices
Right now, when connecting to HID devices, preferred connection
parameters are not being used. This is because of bug in GAP profile.
This make all HID devices use default connection parameters, which
mean that they behave sluggish. This patch fixes that by forcing
HID devices to re-read connection parameters on each reconnection.
This is a temporary workaround until GAP is rewritten.
Bug:
28378306
Change-Id: I74b70ad8e96c29517cace808632fe4d8e0251994
Manu Viswanadhan [Tue, 19 Apr 2016 09:28:40 +0000 (14:58 +0530)]
Fix FD leak caused by module wrapper thread
Use Case: Repeated BT ON/OFF
Failure: FD leak is observed with ON/OFF stress test
which eventually leads to crash due to unavailability
of FDs.
Steps:
BT ON/OFF.
Root Cause: During cleanup the module wrapper thread is
stopped but the resources are not freed, leading to FD leak.
Fix: Cleanup the module wrapper thread properly so that there
are no resource leaks.
Bug:
28312228
Change-Id: I4de2fba9c98a0e4ae73315759ec6bc8bf273948e
TreeHugger Robot [Sat, 23 Apr 2016 00:33:11 +0000 (00:33 +0000)]
Merge "Fix a Floating point exception for periodic timers" into nyc-dev
TreeHugger Robot [Sat, 23 Apr 2016 00:25:47 +0000 (00:25 +0000)]
Merge "Improve debug-ability of the stack manager" into nyc-dev
Pavlin Radoslavov [Wed, 20 Apr 2016 00:30:19 +0000 (17:30 -0700)]
Fix a Floating point exception for periodic timers
Fix a Floating point exception for periodic timers that are
scheduled with interval of 0ms, and add a corresponding unit test.
Also, fix a typo when printing "Action counts" statistics.
Bug:
28278593
Change-Id: Ic381efc573ed9954c36980c26a89318d2de40b29
Pavlin Radoslavov [Wed, 20 Apr 2016 02:20:01 +0000 (19:20 -0700)]
Improve debug-ability of the stack manager
Add or update existing log messages in the stack manager,
so it is clear when each of the init/startup/shutdown/cleanup
steps is executed and completed.
The added/updated log messages are at INFO level.
Bug:
26982349
Change-Id: Ie84aa8e96133999eb76c5b351ddd4fea56404ef0
Pavlin Radoslavov [Wed, 20 Apr 2016 02:16:26 +0000 (19:16 -0700)]
Add missing mutex lock/unlock inside alarm_cleanup()
Bug:
26982349
Change-Id: I32f4e6450491adcc1e12e71fb8bb582d6397a91a
Dan Albert [Fri, 22 Apr 2016 18:24:14 +0000 (11:24 -0700)]
Fix 64-bit build break.
Master (aosp and internal) has been broken for nearly two days now.
Was broken by https://android-review.googlesource.com/#/c/212244/
because no one checked 64-bit before merging.
No one noticed post-submit because the build servers aren't
checkbuilding any 64-bit targets (aside from mips64, which is broken
for other reasons).
I've uploaded a build change to get treehugger building a 64-bit
target (http://cr/
120564724), and also to make all the targets
checkbuilds again (http://cr/
120568746).
Change-Id: I195000284de5b52a539a47ad8b308990e72eea96
Ajay Panicker [Mon, 18 Apr 2016 18:31:48 +0000 (11:31 -0700)]
Protect config module init and add date to config file
Bug:
27354612
Change-Id: Ie956faddaa69101211e554722d682c18ed00a20a
Ajay Panicker [Fri, 22 Apr 2016 01:04:41 +0000 (01:04 +0000)]
A2DP task media alarm non-null protection
am:
420dfac186 -s ours
* commit '
420dfac186a8510d970b076a2f067f32a4118a5e':
A2DP task media alarm non-null protection
Change-Id: I77ca8ccd909c397b0662724f30e478526b32cfb4
Sharvil Nanavati [Fri, 22 Apr 2016 00:57:41 +0000 (00:57 +0000)]
Fix bug where a bonded device could enter BONDING and BONDED states again. am:
b32b3d7c1b
am:
75144cbf50 -s ours
* commit '
75144cbf50803fabeabc2f6d61700e7df69e7059':
Fix bug where a bonded device could enter BONDING and BONDED states again.
Change-Id: Ifb35e23636d7350ef6bbffb8758b2e5f0839b750
Sharvil Nanavati [Fri, 22 Apr 2016 00:37:31 +0000 (00:37 +0000)]
Merge "Fix crash in HFP client\'s +COPS parsing code." into cw-e-dev am:
bf8d17ddbb
am:
878da372c6
* commit '
878da372c65941f6d8dd5eac0317a14f9728e7fd':
Fix crash in HFP client's +COPS parsing code.
Change-Id: I989ea8f8c0ff85d415bbf8b542d42fb39bbb7879
Sharvil Nanavati [Fri, 22 Apr 2016 00:37:30 +0000 (00:37 +0000)]
Only send first 16 characters of operator name in +COPS. am:
61b8ebf698
am:
9837f7e339
* commit '
9837f7e339e6e80aaf234b80b8ff07cf09faddc0':
Only send first 16 characters of operator name in +COPS.
Change-Id: I976b7618610287db0ce2c337a2fde44f3b5d31a9
Marie Janssen [Fri, 22 Apr 2016 00:37:19 +0000 (00:37 +0000)]
Fix crashes with lots of discovered LE devices
am:
a8ace3826b -s ours
* commit '
a8ace3826b05d1ade5beb5ef2ba4dfd8d9cf98b6':
Fix crashes with lots of discovered LE devices
Change-Id: Ie1c67a4f78c3039b58702d7a80a5ad33ff3870ff
Andre Eisenbach [Fri, 22 Apr 2016 00:23:43 +0000 (00:23 +0000)]
DO NOT MERGE Blacklist devices for absolute volume control
am:
bef34921ee -s ours
* commit '
bef34921ee313f8378059d3205ebb485498b3404':
DO NOT MERGE Blacklist devices for absolute volume control
Change-Id: Id0ecff030d77833525fbecfea6c8fc9d029579ef
Ian Pedowitz [Fri, 22 Apr 2016 00:23:31 +0000 (00:23 +0000)]
Revert "Blacklist devices for absolute volume control"
am:
22c5f47b7f -s ours
* commit '
22c5f47b7f7bc4739fb1ddf85eb81d8b20f7b222':
Revert "Blacklist devices for absolute volume control"
Change-Id: Iab1a73d729f578e5e82688fb4c3e5aa1455db729
Andre Eisenbach [Thu, 21 Apr 2016 23:42:20 +0000 (23:42 +0000)]
Blacklist devices for absolute volume control
am:
2c8897ca35 -s ours
* commit '
2c8897ca35a93148619d662df03bd9da1b73679a':
Blacklist devices for absolute volume control
Change-Id: I5f0cbd1030b0e039ffcc04ae7a109f127a6acefa
Sharvil Nanavati [Thu, 21 Apr 2016 22:35:58 +0000 (22:35 +0000)]
Merge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false" into cw-e-dev am:
3c8de06896
am:
b35d5c358e
* commit '
b35d5c358e546657bfa2195a260a9ef4301318bc':
Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false
Change-Id: Ic4827eab53322da5cc88affe2c5d9014ac6b2e56
Scott James Remnant [Thu, 21 Apr 2016 22:35:56 +0000 (22:35 +0000)]
DO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant am:
786a7e5941 -s ours
am:
919642a4cd -s ours
* commit '
919642a4cdcc2d6a112a5a6dfebc6f8e60f706ed':
DO NOT MERGE ANYWHERE net_test_bluetooth: replace with gtest variant
Change-Id: I3ae03e08d4d15670e0f6c4e622c0a105da932868
Joshua Schwarz [Thu, 21 Apr 2016 22:35:55 +0000 (22:35 +0000)]
Merge "DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth." into cw-e-dev am:
78ec0dc441 -s ours
am:
c20ef5387b -s ours
* commit '
c20ef5387b82642a5e3320083dc0a76efe5fbfb7':
DO NOT MERGE ANYWHERE Rename gtest_net_test_bluedroid to gtest_net_test_bluetooth.
Change-Id: Ib426458adec10205067a94a85cab2d3d7f67bbdb
Devin Kim [Thu, 21 Apr 2016 22:35:53 +0000 (22:35 +0000)]
Fix BT connection failures am:
198abcd704
am:
e6fdbaf8a7
* commit '
e6fdbaf8a74e95c54b1333ed631061ce5a68d22f':
Fix BT connection failures
Change-Id: I1f663b6dcde84e9517e9fc226598e74b711c479e
Alain Vongsouvanh [Thu, 21 Apr 2016 22:35:52 +0000 (22:35 +0000)]
DO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush. am:
e52633cecf -s ours
am:
2be2e45a99 -s ours
* commit '
2be2e45a991f8f7dfcd0b4443e2d19f4117912db':
DO NOT MERGE ANYWHERE: osi: Remove error_fclose goto and redundant fflush.
Change-Id: Ib411b7d4676cc8456bc51e5891112d71538532a5
Amadeusz Slawinski [Thu, 21 Apr 2016 22:35:50 +0000 (22:35 +0000)]
DO NOT MERGE ANYWHERE: Add file write error checks to config_save am:
02f35e6a36 -s ours
am:
99184508a2 -s ours
* commit '
99184508a236c839db86ae92c97c585a9cd3d2aa':
DO NOT MERGE ANYWHERE: Add file write error checks to config_save
Change-Id: If6a034f76c58180b3e3ea6c8be88032b35c5b225
Chris Elliott [Thu, 21 Apr 2016 22:35:49 +0000 (22:35 +0000)]
Merge "DO NOT MERGE Revert "A2DP SRC offload support"" into mnc-dr1.5-dev
am:
e0800b66e0 -s ours
* commit '
e0800b66e011139186f89d0387a6c86fcc5b6ec7':
DO NOT MERGE Revert "A2DP SRC offload support"
Change-Id: I0cf27fb610f6a24ccc0eaf9dc5641f5034167411
Chris Elliott [Thu, 21 Apr 2016 22:35:47 +0000 (22:35 +0000)]
DO NOT MERGE Revert "Make default SBC bitrate configurable by device."
am:
a09c5aad67 -s ours
* commit '
a09c5aad672222130e2a3c03c9a9317b56541dd1':
DO NOT MERGE Revert "Make default SBC bitrate configurable by device."
Change-Id: I1e31bdc958154617f490a9e6825d82170657187e
Chris Elliott [Thu, 21 Apr 2016 22:35:46 +0000 (22:35 +0000)]
DO NOT MERGE Revert "Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE."
am:
775667a632 -s ours
* commit '
775667a632ab5e8e14ced69828af65b27978f1b6':
DO NOT MERGE Revert "Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE."
Change-Id: Ia111f7d01ab94430a6e3be64b4c442852f28bdf6
Zach Johnson [Thu, 21 Apr 2016 22:35:44 +0000 (22:35 +0000)]
Merge "Mark secure link as authenticated for LE" into cw-e-dev am:
e6242fcf30
am:
a7945b11ce
* commit '
a7945b11ce231d53f5ced337136cd34ee8e5eea3':
Mark secure link as authenticated for LE
Change-Id: I2340c1c65f8caf504837eab01c9e458cc2c5882b
Sridhar Vashist [Thu, 21 Apr 2016 22:35:42 +0000 (22:35 +0000)]
Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE. am:
8b1c7af03a
am:
9c55e7e6e0
* commit '
9c55e7e6e0816caf83c263fd0ef7e4c4410fb46f':
Always send a SUSPEND_CFM event when suspended due to A2DP RECONFIGURE.
Change-Id: I87df5fafbd77a06e5c0ff797a57868caafa9f57d
Sridhar Vashist [Thu, 21 Apr 2016 22:35:40 +0000 (22:35 +0000)]
Make default SBC bitrate configurable by device. am:
5f308397b7
am:
b2019873c6
* commit '
b2019873c6253f29026b473ad92e417796c7a166':
Make default SBC bitrate configurable by device.
Change-Id: I2257bf7a4f6e24d1995f93469268021476c1f829
Chris Elliott [Thu, 21 Apr 2016 22:35:27 +0000 (22:35 +0000)]
Merge "A2DP SRC offload support" into cw-e-dev am:
ffdfe1d26d
am:
51c3eb6a0c -s ours
* commit '
51c3eb6a0c3b55183d30881180982f62c48dba95':
A2DP SRC offload support
Change-Id: I9f7967ca1b27fa8bc498c6f9b20d6049fd8e384a
TreeHugger Robot [Thu, 21 Apr 2016 19:36:59 +0000 (19:36 +0000)]
Merge "Add missing init/destroy of state_lock mutex" into nyc-dev
Marie Janssen [Wed, 13 Apr 2016 19:43:03 +0000 (12:43 -0700)]
btif: add count of devices loaded on startup
Report devices initially loaded from the config file.
Also removes the config mutex from btif_debug_config_dump as the config
is not modified.
Bug:
27354612
Change-Id: I25033ce28744051412f0d2bd554f0651e807ba7c
Pavlin Radoslavov [Wed, 20 Apr 2016 19:06:08 +0000 (12:06 -0700)]
Add missing init/destroy of state_lock mutex
Add missing init/destroy of state_lock mutex inside file
btif_sock_l2cap.c.
Also, add a missing unlock for the same mutex.
Bug:
28296454
Change-Id: I48b8deb911d29e8dcc6b7243fd61fc3ba69046dd
Jakub Pawlowski [Tue, 12 Apr 2016 12:50:49 +0000 (05:50 -0700)]
Cleanup unnecessary logs
Bug:
27698756
Change-Id: I30b5e4b45d4b06e0264415e85949c7bf828f28c0
Ajay Panicker [Fri, 18 Mar 2016 00:09:24 +0000 (17:09 -0700)]
Add guest mode functionality (2/5)
Add a flag to enable() to start Bluetooth in restricted
mode. In restricted mode, all devices that are paired during
restricted mode are deleted upon leaving restricted mode.
Right now restricted mode is only entered while a guest
user is active.
Bug:
27410683
Change-Id: I8f23d28ef0aa3a8df13d469c73005c8e1b894d19
Sharvil Nanavati [Wed, 6 Apr 2016 21:46:49 +0000 (14:46 -0700)]
Delete unused JV code
Bug:
28068134
Change-Id: I16d017ef90269a435b8f66a58ed06d2fc89d407f
Sanket Agarwal [Fri, 15 Apr 2016 20:50:44 +0000 (20:50 +0000)]
Merge "AVRCP: Update sdp record correctly for CT or TG." into nyc-dev
Sanket Agarwal [Fri, 15 Apr 2016 20:23:49 +0000 (20:23 +0000)]
Merge "Allow A2DP SNK audio track focus gain interface." into nyc-dev
Jakub Pawlowski [Thu, 14 Apr 2016 10:06:54 +0000 (03:06 -0700)]
Fix LE central device not being able to disconnect
This fixes issue introduced in
https://android-review.googlesource.com/#/c/202278
Bug:
28211048
Change-Id: I08e62149358f1c1fc1759a4ca9eb375cb0ad8230
AnubhavGupta [Tue, 22 Mar 2016 18:03:33 +0000 (23:33 +0530)]
AVRCP: Update sdp record correctly for CT or TG.
-Issuses: SDP records are faulty
- AVRCP versions are faulty
- Nexus configuration shows browsing supported
- Both Cat-1 and Cat-2 is supported for Nexus CT
-Solution
- pass sdp version as parameter
- update sdp records for avrcp controller in case of client
profiles being enabled
- BTA_AV_FEAT_BROWSE flag was incorrecly set during AV registration
causing AVRCP TG version to upgrade to 1.4 even though browsing
feature is not supported.
- Use AVRC_CTLR_INCLUDED feature flag instead of AVRC_ADV_CTRL_INCLUDED
for guarding Avrcp controller code in build/parse apis for
command/response
- update categories supported for CT properly for mobile phone config
Bug: b/
28149547
Change-Id: I3ff4082453a2624a72d8f152d75af83a8efb4937
Sanket Agarwal [Fri, 8 Apr 2016 18:26:04 +0000 (11:26 -0700)]
Allow A2DP SNK audio track focus gain interface.
In order to duck music we need to adjust the gain of the audio track
handled by A2DP SNK. Since SNK is implemented in native we need to add
interface to adjust the gain.
Bug: b/
28065071
Change-Id: I60634cfadb502e276596bcb3aafc62ef81d9023a
Pavlin Radoslavov [Thu, 7 Apr 2016 18:47:48 +0000 (11:47 -0700)]
Removed unused functions
Removed unused functions and defines that are not needed:
- l2c_bcst_msg()
- GAP_ConnBTWrite()
- gap_proc_btu_event()
- AVDT_WriteDataReq()
- L2CAP_BCST_MIN_OFFSET
- L2CAP_BCST_OVERHEAD
- AVDT_MAX_MEDIA_SIZE
- LOG_NDDEBUG in btif/src/bluetooth.c
Bug:
28068134
Change-Id: If0edda2bf86caf83027db2c897537c82a0d80667
Andre Eisenbach [Wed, 13 Apr 2016 16:44:00 +0000 (09:44 -0700)]
Ensure PIN code dialog is shown after remote name request
If pairing is locally initiated and results in a remote name request
being performed before the PIN code is requested, then the PIN code
dialog will not be shown correctly.
This patch removes the check for locally initated pairing to ensure the
dialog is shown in all cases.
Bug:
27347017
Change-Id: I607c1c071af502fb2990b14cce676590e577b4c2
Andre Eisenbach [Mon, 11 Apr 2016 21:50:41 +0000 (14:50 -0700)]
Move autopair blacklist to interop database
Blacklist by partial name etc. was not working and had no effect; all
BDAs in the config file start with 00:, which is implausible at best, so
deleted...
Added new mechanism to blacklist by BDA only initially and added Subaru
car kit to blacklist.
Bug:
27347017
Change-Id: Ie2941cb1ab663b5444b02c44f85032f13be4ab46
Marie Janssen [Wed, 6 Apr 2016 14:17:04 +0000 (14:17 +0000)]
Merge changes I26563b75,If7ee9d96 into nyc-dev
* changes:
Fix memory leak when saving paired devices
btif: Don't persist remote devices to the config
Marie Janssen [Tue, 5 Apr 2016 18:36:15 +0000 (11:36 -0700)]
Fix memory leak when saving paired devices
Followup from r.android.com/210955
Minor style fixes for osi/config also included.
Bug:
26071376
Change-Id: I26563b75a59a6f0ae074676754889cb988a69358
Marie Janssen [Fri, 25 Mar 2016 20:37:13 +0000 (13:37 -0700)]
btif: Don't persist remote devices to the config
We don't need to persist the unpaired devices to NVRAM
so skip saving them.
This fixes a regression in a previous patch where the most recent
instead of the least recent devices would be removed, making some
devices unpairable in extremely busy environments.
Bug:
26071376
Change-Id: If7ee9d960f70c836bf08b78da5f3fc852ba60a85
Pavlin Radoslavov [Tue, 5 Apr 2016 18:45:30 +0000 (11:45 -0700)]
Updated the A2DP statistics
* Added "Frame expected" and "Frames limited" statistics in the
bugreport about expected and limited number of frames per tick.
Also, added corresponding "Counts (expected/limited)":
A2DP State:
TxQueue:
Counts (enqueue/dequeue/readbuf) : 386 / 386 / 768
Last update time ago in ms (enqueue/dequeue/readbuf) : 12644 / 12643 / 12600
Frames expected (total/max/ave) : 2632 / 8 / 6
Frames limited (total/max/ave) : 0 / 0 / 0
Counts (expected/limited) : 382 / 0
Frames per packet (total/max/ave) : 2618 / 7 / 6
...
* Renamed "tx_queue_max_frames" to "tx_queue_max_frames_per_packet"
* Fixed the computation of actual transmitted frames:
tx_queue_total_frames, tx_queue_max_frames_per_packet
* Computed / added buffer_overruns_max_count and
buffer_underruns_average to the Protobuf stats.
Bug:
27500656
Change-Id: Id58cfb0b5de2296742c84aa0b743e0eed398f41f
Ajay Panicker [Tue, 1 Mar 2016 00:18:12 +0000 (16:18 -0800)]
Allow factory reset when bluetooth is off (2/2)
Bug:
27348444
Change-Id: Idf0c0bda892c76be037fd28ed352237d4c5b8263
Alain Vongsouvanh [Wed, 30 Mar 2016 00:33:55 +0000 (17:33 -0700)]
Bring back support for legacy bt_config.xml
If a device migrates directly from L or earlier to a version using this
new implementation, all bt_config will be lost, requiring to repair to
the devices.
Bug:
27824878
Change-Id: Ifdca0d8cad8efaa9f503ca40ac0725547a06f15c
Sanket Agarwal [Wed, 30 Mar 2016 13:31:16 +0000 (19:01 +0530)]
A2DP_SINK: initialize track handle to null
- initialize track handle to null
- prevent invoking audiotrack API in case handle is null
Bug:
27613411
Change-Id: I1a8637fd2cbb3012b29c1930f978100e7f0c58d8
Ajay Panicker [Fri, 1 Apr 2016 21:02:06 +0000 (14:02 -0700)]
Fix line wrapping for btsnooz
Change-Id: I4558c652577ffeb3f1ac4f273472ccf98d70924b
Andre Eisenbach [Sat, 2 Apr 2016 00:47:54 +0000 (17:47 -0700)]
Fix btsnooz.py multi-line base64 decoding
Change-Id: Ie915c52d8a7eada10f68999c40a2b50b35f640e2
Pavlin Radoslavov [Fri, 1 Apr 2016 03:22:29 +0000 (20:22 -0700)]
Add a log message to capture empty queue in l2c_enqueue_peer_data()
Add a log message in l2c_enqueue_peer_data() to help capture
an empty queue p_ccb->xmit_hold_q that is triggering an assert.
Also:
* Fix a memory leak inside l2cu_initialize_fixed_ccb()
p_ccb queues have been allocated again even though
they have been allocated previously within l2cu_allocate_ccb()
* Fix a typo in a comment: clodes -> closed
* Removed repeated function declarations in file l2c_int.h
Bug:
27821847
Change-Id: I2df2843710310acf5a46c6fa5b302cf7390bc1b4
Jaganath Kanakkassery [Fri, 12 Feb 2016 15:03:06 +0000 (20:33 +0530)]
Avoid using alarm APIs for LPM when Idle timeout is zero
For some vendors the idle timer value is configured to zero. But with
the current LPM timer implementation it will use the alarm APIs to
schedule wake_deassert(), which introduces context switch overhead.
The code is modified to trigger the wake_deassert immediately if the
idle timeout value is configured to zero. These changes improve OPP
throughput.
Change-Id: Ic48e7b990ccf55525a0d15b65c03daedfe03c582
Signed-off-by: Jaganath Kanakkassery <jaganathx.kanakkassery@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
Pavlin Radoslavov [Sat, 26 Mar 2016 01:55:30 +0000 (18:55 -0700)]
Don't destroy BTIF Device Management state during shutdown
Don't call btif_dm_cleanup() during stack shutdown stage,
because it will destroy/free internal state that might be used
later in the shutdown process.
Instead, btif_dm_cleanup() should happen during the stack
cleanup stage.
Also, added an unit test to capture the original issue.
Bug:
27856457
Change-Id: I8575537ad744cf4e6770046b779b6a53de93d66e
Ajay Panicker [Mon, 28 Mar 2016 21:58:59 +0000 (21:58 +0000)]
Revert "Add guest mode functionality (2/5)"
This reverts commit
45ee419b233480060548f19b09de6726d28a06ea.
Change-Id: I7d24acbe09305611c4e0bbfe7d40348d0fd1c365
Ajay Panicker [Fri, 18 Mar 2016 00:09:24 +0000 (17:09 -0700)]
Add guest mode functionality (2/5)
Add a flag to enable() to start Bluetooth in restricted
mode. In restricted mode, all devices that are paired during
restricted mode are deleted upon leaving restricted mode.
Right now restricted mode is only entered while a guest
user is active.
Bug:
27410683
Change-Id: I19ff91d1d7fb8c60230fee7a05d32574b5b2aeda
Andre Eisenbach [Fri, 25 Mar 2016 23:48:44 +0000 (16:48 -0700)]
Remove unused p_db for A2DP service discovery
This fixes a crash (SIGSEGV) when re-connecting A2DP devices where the
SDP pointer was incorrectly reset to 0.
Bug:
27852645
Change-Id: Ie40b7e57fc117c6fe7a42020600745ef348b503c
Nitin Shivpure [Fri, 15 Jan 2016 11:04:37 +0000 (16:34 +0530)]
HID: Fix to show mouse pointer movements on UI
As per the UHID implementation, UHID_OPEN & UHID_CLOSE
can be ignored, but it is useful for power-management.
Since these events are handled on hid host, ready_for_data
needs to be set to TRUE. Previously the hid reports were not
sent to kernel UHID driver leading to no mouse pointer movement
on UI of DUT.
Bug:
27852645
Change-Id: I708f5be4240f07826c6eefc5404af3e42f80cfa4
Mallikarjuna GB [Mon, 1 Jun 2015 07:28:38 +0000 (12:58 +0530)]
Initiate SCO after Mode change event
Use case:
1. Connect a headset to AG.
2. Make an outgoing call using headset.
Failure:
SCO connection request is rejected by headset.
Root cause:
AG initiated SCO connection when mode change is pending
on headset. Remote is coming out of sniff and rejected
SCO connection request.
Fix:
AG initiates SCO connection request once AG receives mode
change event. It resolves a corner case where remote failed
to accept SCO connection when initiated in between unsniff
LMP request. Issue is seen with WEP301 headset.
Bug:
27852645
Change-Id: I4ea5d073630320b30f90e6141f4daf25943cca0b
Mallikarjuna GB [Sat, 30 May 2015 18:03:58 +0000 (23:33 +0530)]
Avoid sending SCO disconnect when power mode is processing
Use case:
1. Pair and connect with Mercedes car kit.
2. Answer incoming call by phone or car kit.
3. Switch audio between car kit and phone.
4. Repease 1-3 steps.
Failure:
Car kit is going into bad state and not accepting SCO disconnect.
Root cause:
Phone has sent SCO disconnect command to car kit when
power mode command(sniff/unsniff) is in the processing
on the ACL where SCO is active. Car kit didn't accept
remove SCO request command and gone into bad state.
Fix:
AG should send sco disconnect once power mode change is completed
to avoid this failure.
Bug:
27852645
Change-Id: I7eba162a8fd9615795009ab26005535a3e5c7e86
Satish Kodishala [Thu, 11 Feb 2016 17:05:40 +0000 (22:35 +0530)]
Process complete AT cmd response.
Usecase:
1. Enable hf client role and connect with AG.
2. Receive an incoming call and accept from hf client.
3. End call from hf client.
4. Repeat the steps few times.
Failure:
UI is not updated with proper call status although
call is active.
Root cause:
When OK is received as part of AT command response,
application is not updated for it. This caused response
state mismatch in application and hence queue was not
cleared properly.
Fix:
Parse complete AT command response and update application
accordingly.
Bug:
27852645
Change-Id: I8cb2362369b209903700e87330ed2a3e3052b188
Satish Kodishala [Thu, 11 Feb 2016 14:32:08 +0000 (20:02 +0530)]
Abort parsing in case of format error
Usecase:
1. Enable hf client and connect to AG.
2. Send +COPS with length more than allowed 16 characters.
Failure:
Crash might be seen while parsing +COPS response from AG.
Root cause:
sscanf used for parsing the AT commands does not update
the characters scanned when there is format error.
Fix:
Abort the processing in case of format error.
Bug:
27852645
Change-Id: Id3ca80712df3d0251cf9ffb04d9c766be809ae84
Ayan Ghosh [Tue, 7 Jan 2014 11:17:19 +0000 (16:47 +0530)]
Move to idle when remote disconnects during connection.
Chrysler Uconnect Touch initiates disconnect for a2dp on
l2cap just after discovery on AVDTP channel, stack does not
send any message to BTIF layer for disconnection, this
causes btif getting stuck in opening state and later no stable
connection update is sent to app. Since it is intermediate
state all subsequent connection trials fails.
Send disconnect event from incoming state to closing state
and then closing state will send proper msg to btif layer. Add
closing msg handling in btif layer so that we can update app
for connection disconnect when initiated from remote and move to
proper stable state for accepting/initiating connection.
Bug:
27852645
Change-Id: I011d9ffe9d721235217320c1e5281f70328c7f13
Ayan Ghosh [Thu, 3 Mar 2016 10:37:38 +0000 (16:07 +0530)]
Allocate buffer for AV SDP in Stack
Remove buffer allocation in BTA while going for SDP before triggering
A2DP connection. This strategy is followed to address memory corruption
issues due to freeing of BTA buffer before SDP RSP call back is
triggered and access the freed buffer from there, leads to crash when
running Codemonicom tests.
The change allocates and frees buffer in stack.
Bug:
27852645
Change-Id: If6d60d2aa60d19ce5120dd38c2f365d70943db81
Ayan Ghosh [Thu, 11 Dec 2014 12:26:02 +0000 (17:56 +0530)]
Do not initiate SDP for incoming AVDTP connection
There are few instances when remote initiates L2CAP
channel for AVDTP signaling but keeps quite after that,
and later on timeout DUT goes for rest of the signalling
procedure but does sdp prior to the same.Few peer
devices deletes a2dp sink sdp record when there is an
ongoing connection, as a result sdp request fails and
DUT fails to proceed with signalling procedure and
connection setup fails.
This patch makes sure that DUT does not go for redundant
sdp request for AVDTP, provided remote has already
established L2cap connection for the same. SDP is done
explicitly only incase of outgoing AV connection.
This issue is seen with Nokia Es headset.
Bug:
27852645
Change-Id: Id44368687d5b3f97bf0258f8d4ff75f185db23af
Ayan Ghosh [Thu, 3 Mar 2016 13:28:24 +0000 (18:58 +0530)]
Process AV HAL start only when previous instance is cleaned up
Bug:
27852645
Change-Id: Iee232dacd3b79e6e94d26c73fb3e563fddced75c
Ayan Ghosh [Thu, 17 Mar 2016 09:29:06 +0000 (14:59 +0530)]
Restrict DUT supported SBC configuration in GET_CAP response
DUT shows all possible SBC configurations as supported
as part of GET_CAP response and also allows AV SINK to
opt for any of these values from that set as part of
SET_CONFIG request, but later opts for only recommended
figures while streaming so that leads to mismatch in
configuration between the config values SINK sets during
SET_CONFIG and config values DUT chooses for streaming
and hence it causes PTS (version 6.4 onwards) certification
failure for below A2DP and AVDTP cases:
A2DP:
TC_SRC_SET_BV_04_I
TC_SRC_SET_BV_06_I
AVDTP:
TC_ACP_SRC_SIG_SMG_BV_18_C
TC_ACP_SRC_SIG_SMG_BV_20_C
TC_ACP_SRC_SIG_SMG_BV_22_C
Restricting DUT supported SBC configurations to reflect only
the configuration DUT opts for during streaming makes sure
remote also opts for those config values during SET_CONFIG
and later there is no mismatch.
Bug:
27852645
Change-Id: I13dbe94e0ca52708fc62c6db7513f7985237c18c
Sharvil Nanavati [Mon, 29 Feb 2016 23:50:49 +0000 (15:50 -0800)]
Don't clear the btsnoop log ringbuffer on compress.
Change-Id: I0bf4279104e87b151553eba913491d934f3cde41
Sharvil Nanavati [Tue, 15 Mar 2016 20:13:45 +0000 (13:13 -0700)]
Don't send AT+BCC if local device doesn't support codec negotiation.
The current code only checked if the peer supported codec negotiation
before sending AT+BCC. But if codec negotation is disabled on the
local device, we should definitely not send AT+BCC.
Bug:
27213013
Change-Id: Id372a32a61a3d96d5c093bc50594ef0b8c2eff2e
Navin Kochar [Wed, 9 Mar 2016 17:41:53 +0000 (23:11 +0530)]
Add LE L2CAP Connection Oriented Channel
This implementation for LE L2CAP Connection Oriented Channel (a Bluetooth
Core Spec 4.1 feature) has been tested on the following formal and informal
IOP events conducted by BT SIG Sport and Fitness Working Group.
* Informal IOP – Tokyo 2014
* UPF 49 – Berlin 2014
* Formal IOP – Tokyo 2014
* Formal IOP – Santa Clara 2015
Bug:
27852645
Change-Id: Ia6de62f9321a78b98930629f65078884157a9c0d
Signed-off-by: Navin Kochar <navin.kochar@intel.com>