OSDN Git Service

android-x86/system-bt.git
7 years agoMerge changes from topic 'eSCO' am: a5095e6eac am: 96b45e07ea
Jack He [Thu, 11 May 2017 02:03:46 +0000 (02:03 +0000)]
Merge changes from topic 'eSCO' am: a5095e6eac am: 96b45e07ea
am: 52361b1cfa

Change-Id: Ie80f0f71b957f372f071d53a7bd6b161be0fc1c7

7 years agoeSCO: Additional fix to get eSCO working for HFP and HSP (3/5) am: 400ac497f4 am...
Jack He [Thu, 11 May 2017 02:03:43 +0000 (02:03 +0000)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5) am: 400ac497f4 am: 1faf995c95
am: cf38e2a20d

Change-Id: I28961521be04168c6b6c565f926df11dda336c70

7 years agoeSCO: Remove BTM_WBS_INCLUDED from the stack (2/5) am: 3e634d6c1e am: 01e4189eb2
Myles Watson [Thu, 11 May 2017 02:03:38 +0000 (02:03 +0000)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5) am: 3e634d6c1e am: 01e4189eb2
am: 0dab2433a4

Change-Id: If276d6bbe480c29028a0eb0e30e89c948e977fc6

7 years agoeSCO: BT 4.1 Enhanced SCO command (1/5) am: 57f6508cf7 am: 86f1b61e61
Mudumba Ananth [Thu, 11 May 2017 02:03:34 +0000 (02:03 +0000)]
eSCO: BT 4.1 Enhanced SCO command (1/5) am: 57f6508cf7 am: 86f1b61e61
am: 8b0d1f793c

Change-Id: Ib635272bc4cb38ff95bd57e80d0e9e9f08604917

7 years agoMerge changes from topic 'eSCO' am: a5095e6eac
Jack He [Thu, 11 May 2017 02:01:49 +0000 (02:01 +0000)]
Merge changes from topic 'eSCO' am: a5095e6eac
am: 96b45e07ea

Change-Id: I5518a14dfa62f3aa64a9d9e17054219ffe19d99b

7 years agoeSCO: Additional fix to get eSCO working for HFP and HSP (3/5) am: 400ac497f4
Jack He [Thu, 11 May 2017 02:01:45 +0000 (02:01 +0000)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5) am: 400ac497f4
am: 1faf995c95

Change-Id: Id6089050ae0f8170c1461f61f24ea2ed2369d87e

7 years agoeSCO: Remove BTM_WBS_INCLUDED from the stack (2/5) am: 3e634d6c1e
Myles Watson [Thu, 11 May 2017 02:01:41 +0000 (02:01 +0000)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5) am: 3e634d6c1e
am: 01e4189eb2

Change-Id: Ief7ca14cda07fa76c94e1e31ef96b3f054cc96f4

7 years agoeSCO: BT 4.1 Enhanced SCO command (1/5) am: 57f6508cf7
Mudumba Ananth [Thu, 11 May 2017 02:01:36 +0000 (02:01 +0000)]
eSCO: BT 4.1 Enhanced SCO command (1/5) am: 57f6508cf7
am: 86f1b61e61

Change-Id: I78633f7c19e6b613bb352df79d6b15a23d6c1908

7 years agoMerge changes from topic 'eSCO'
Jack He [Thu, 11 May 2017 01:59:52 +0000 (01:59 +0000)]
Merge changes from topic 'eSCO'
am: a5095e6eac

Change-Id: I6ec9013bc90d038078e33e271e77125a45689f1d

7 years agoeSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
Jack He [Thu, 11 May 2017 01:59:40 +0000 (01:59 +0000)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
am: 400ac497f4

Change-Id: I2590f334f411a43ebbd5198ab964d776f096e249

7 years agoeSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
Myles Watson [Thu, 11 May 2017 01:59:29 +0000 (01:59 +0000)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
am: 3e634d6c1e

Change-Id: I99fff15789f389fe71f140db81bceac3bac42b71

7 years agoeSCO: BT 4.1 Enhanced SCO command (1/5)
Mudumba Ananth [Thu, 11 May 2017 01:59:16 +0000 (01:59 +0000)]
eSCO: BT 4.1 Enhanced SCO command (1/5)
am: 57f6508cf7

Change-Id: Ic45dc0c4bae5c40f3d144246efe1d3e2603e8b4b

7 years agoMerge changes from topic 'eSCO'
Treehugger Robot [Thu, 11 May 2017 01:53:44 +0000 (01:53 +0000)]
Merge changes from topic 'eSCO'

* changes:
  eSCO: Format changes to original vendor patch (4/5)
  eSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
  eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
  eSCO: BT 4.1 Enhanced SCO command (1/5)

7 years agoMerge "btif: GetItemAttributes can return no attributes" into oc-dev
Marie Janssen [Thu, 11 May 2017 01:24:16 +0000 (01:24 +0000)]
Merge "btif: GetItemAttributes can return no attributes" into oc-dev
am: 1f7d8e2299

Change-Id: I3a269ff1629c076eca5568de08986727d0ff61ba

7 years agoFix broken linux build
Jack He [Thu, 11 May 2017 01:23:58 +0000 (01:23 +0000)]
Fix broken linux build
am: 3f122786c5

Change-Id: I55f253a86e4686bc81cd11137ca90976fc4bbe40

7 years agoRemove include for log/log.h in l2c_main.cc
Jack He [Thu, 11 May 2017 01:23:44 +0000 (01:23 +0000)]
Remove include for log/log.h in l2c_main.cc
am: 8db5514d92

Change-Id: I603aa47f5ead053d27b569149bb16dc2fb65dc55

7 years agoMerge "HID: Add support for Set Idle and Get Idle commands (2/4)" am: 642e53b17f...
Andre Eisenbach [Thu, 11 May 2017 01:18:17 +0000 (01:18 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)" am: 642e53b17f am: 9cdb6114c6
am: b798c2fd79

Change-Id: I01af1fb37a60a81c0d042555611eb2e32d0bbc4d

7 years agoMerge "HID: Add support for Set Idle and Get Idle commands (2/4)" am: 642e53b17f
Andre Eisenbach [Thu, 11 May 2017 01:11:04 +0000 (01:11 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)" am: 642e53b17f
am: 9cdb6114c6

Change-Id: I785f115e9933a5753286c2b1662e47a868d6e3c9

7 years agoMerge "btif: GetItemAttributes can return no attributes" into oc-dev
TreeHugger Robot [Thu, 11 May 2017 01:03:30 +0000 (01:03 +0000)]
Merge "btif: GetItemAttributes can return no attributes" into oc-dev

7 years agoMerge "HID: Add support for Set Idle and Get Idle commands (2/4)"
Andre Eisenbach [Thu, 11 May 2017 00:44:03 +0000 (00:44 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)"
am: 642e53b17f

Change-Id: I6087d0517494ff36810c71c5e3ffa1d337c4f9f2

7 years agoMerge "HID: Add support for Set Idle and Get Idle commands (2/4)"
Andre Eisenbach [Thu, 11 May 2017 00:37:42 +0000 (00:37 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)"

7 years agoeSCO: Format changes to original vendor patch (4/5)
Jack He [Mon, 8 May 2017 00:27:47 +0000 (17:27 -0700)]
eSCO: Format changes to original vendor patch (4/5)

* Format changes to original vendor patch
* Re-order part of SCO creation code to improve readability
* Make log more concise and usefull

Bug: 19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: Ie0199519afb30f56568c04fef728fce44a172063

7 years agoeSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
Jack He [Mon, 8 May 2017 00:26:02 +0000 (17:26 -0700)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5)

* Removed vendor specific call after codec negotiation and before eSCO
  command is sent to Bluetooth chip
* Removed vendor specific call after a SCO connection is requested by
  the peer
* Removed vendor specific save audio state methods

Bug: 19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: I899405a8eaa2f38ee0de04949c5288f9eefa74df

7 years agoeSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
Myles Watson [Fri, 10 Feb 2017 00:26:34 +0000 (16:26 -0800)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)

All of our platforms support WBS.

Bug: 19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: I384d49f73935ebb35b17132e71c85174797c435e

7 years agoeSCO: BT 4.1 Enhanced SCO command (1/5)
Mudumba Ananth [Thu, 9 Feb 2017 17:05:48 +0000 (09:05 -0800)]
eSCO: BT 4.1 Enhanced SCO command (1/5)

Added support for BT 4.1 enhanced SCO feature on the stack.
This feature allows the stack to create a SCO connection with
remote device by using Hci_Enhanced_Setup_Synchronous_Connection
command after checking the controller (4.1) support for
enhanced SCO command.
Added the command parameters to use the command in both wide band
speech(WBS) and narrow band speech(NBS) scenarios.

Number of Broadcom vendor specific commands(VSCs)that are needed
to be sent to Broadcom controllers along with this command have
also been updated accordingly

NOTE: This change would also need a firmware patch for
the feature to work on Broadcom contollers which will
be delivered to Google in a separate change set.

Bug: 19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: I1014d81be5cbe91078a4484dd072ac3957bfdfe4

7 years agoFix broken linux build
Jack He [Thu, 4 May 2017 20:27:25 +0000 (13:27 -0700)]
Fix broken linux build

* Generic linux does not have property_get_int32. Instead,
  osi_property_get_int32() is created to handle OS_GENERIC cases
* Some linux header have sigevent.sigev_notify_attributes typed as
  (pthread_attr_t *) whereas others typed it as (void *), as any pointer
  can be implicitly casted to (void *), the current casting to (void *)
  is unncessary and will break build on systems using (pthread_attr_t *)

Test: make, unit test, no user visible effect
Change-Id: I24b33da453dc9d40656168a3bcd900d9c99219ce
(cherry picked from commit 2b59c4a0843c9f2782cf4163f921eddb31dd6ff9)

7 years agobtif: GetItemAttributes can return no attributes am: 840f4f3de9 am: 488e292e14
Marie Janssen [Wed, 10 May 2017 20:27:42 +0000 (20:27 +0000)]
btif: GetItemAttributes can return no attributes am: 840f4f3de9 am: 488e292e14
am: 34f5367c17

Change-Id: I4a0868c6e529055c5bf4372e453b960e0a09460a

7 years agobtif: GetItemAttributes can return no attributes am: 840f4f3de9
Marie Janssen [Wed, 10 May 2017 20:07:53 +0000 (20:07 +0000)]
btif: GetItemAttributes can return no attributes am: 840f4f3de9
am: 488e292e14

Change-Id: If832118ad2295a40df7a17f8d2610653ee715f5e

7 years agobtif: GetItemAttributes can return no attributes
Marie Janssen [Wed, 10 May 2017 20:05:22 +0000 (20:05 +0000)]
btif: GetItemAttributes can return no attributes
am: 840f4f3de9

Change-Id: I6f63ea40bfd90552ad32ae2c25a3576676e42b0b

7 years agobtif: GetItemAttributes can return no attributes
Marie Janssen [Fri, 14 Apr 2017 21:07:19 +0000 (14:07 -0700)]
btif: GetItemAttributes can return no attributes

If there are no attributes available, it's possible to return zero
attributes from a GetItemAttributes request.

This is triggered by some carkits who are unhappy when they only get
titles back (the only required item) and ask for the rest of the
attributes (which we don't have).

Test: connect to honda carkit and get snoop logs to confirm
Bug: 36055995
Bug: 35956792
Change-Id: I5a31e206565d212e456111d8c6b542c7a1569e5a
(cherry picked from commit 840f4f3de98c7d6c83abae89f0b41990bc56fef4)

7 years agoRemove include for log/log.h in l2c_main.cc
Jack He [Wed, 10 May 2017 19:05:25 +0000 (12:05 -0700)]
Remove include for log/log.h in l2c_main.cc

* log/log.h is not supported by linux build and is handled by
  osi/include/log.h
* Thus, it shouldn't be included in l2c_main.cc, which breaks the linux
  build

Test: make on both linux and Android, no functional effect
Change-Id: I0c974b754b43d7b73adea2a91078b85e22b3b14e

7 years agoGATT Server: check UUID am: 671ad6679c am: 09af2e0205
Jakub Pawlowski [Wed, 10 May 2017 19:02:26 +0000 (19:02 +0000)]
GATT Server: check UUID am: 671ad6679c am: 09af2e0205
am: 87b57e8643

Change-Id: I1bf0523a9ed4c44137901f8e5bb296d9b415e9bc

7 years agoGATT Server: check UUID am: 671ad6679c
Jakub Pawlowski [Wed, 10 May 2017 18:36:17 +0000 (18:36 +0000)]
GATT Server: check UUID am: 671ad6679c
am: 09af2e0205

Change-Id: I464ad29e2e250a5b66cd1eab8861cf86ab27bf4e

7 years agobtif: GetItemAttributes can return no attributes
Marie Janssen [Fri, 14 Apr 2017 21:07:19 +0000 (14:07 -0700)]
btif: GetItemAttributes can return no attributes

If there are no attributes available, it's possible to return zero
attributes from a GetItemAttributes request.

This is triggered by some carkits who are unhappy when they only get
titles back (the only required item) and ask for the rest of the
attributes (which we don't have).

Test: connect to honda carkit and get snoop logs to confirm
Bug: 36055995
Bug: 35956792
Change-Id: I5a31e206565d212e456111d8c6b542c7a1569e5a

7 years agoGATT Server: check UUID
Jakub Pawlowski [Wed, 10 May 2017 17:31:35 +0000 (17:31 +0000)]
GATT Server: check UUID
am: 671ad6679c

Change-Id: I54da771e90d8d206f7fd0d4118072199a046eadb

7 years agoGATT Server: check UUID
Jakub Pawlowski [Wed, 10 May 2017 11:39:26 +0000 (04:39 -0700)]
GATT Server: check UUID

Characteristic and descriptor can't use UUID equal to GATT Attribute
Types. Using such UUID would result in invalid GATT database, and
crashes during service discovery.

Test: manual
Bug: 38134693
Change-Id: Ide2c21109f885cbc79287452b1dabd3f532de385

7 years agoHID: Add support for Set Idle and Get Idle commands (2/4)
Hemant Gupta [Tue, 30 Jul 2013 10:41:33 +0000 (16:11 +0530)]
HID: Add support for Set Idle and Get Idle commands (2/4)

Provides an interface for application to send Set Idle
and Get Idle commands to remote HID Device. Support for these
two commands was missing from existing code, so existing code
design is reused to add support for these two commands.

Without this support following mandatory PTS test cases for HID 1.0
cannot be passed, TC_HOS_HID_BV_05/06.

Test: Executed PTS tests TC_HOS_HID_BV_05/06 and confirmed if they can
pass

Bug: 34344715
Change-Id: I14bc2dc349354fd87ef8aba25357514398532e87

7 years agoFix broken linux build am: 2b59c4a084 am: 50a0237992
Jack He [Wed, 10 May 2017 02:46:48 +0000 (02:46 +0000)]
Fix broken linux build am: 2b59c4a084 am: 50a0237992
am: 08f3487615

Change-Id: I98ac424c52bc60668dc74858ad89a038493814dc

7 years agoFix broken linux build am: 2b59c4a084
Jack He [Wed, 10 May 2017 02:41:47 +0000 (02:41 +0000)]
Fix broken linux build am: 2b59c4a084
am: 50a0237992

Change-Id: I9d11fce707c63a0afedab4a28099e16201824728

7 years agoFix broken linux build
Jack He [Wed, 10 May 2017 02:37:03 +0000 (02:37 +0000)]
Fix broken linux build
am: 2b59c4a084

Change-Id: I2acaae3044cba1e50647e21c1104218211294b79

7 years agoFix broken linux build
Jack He [Thu, 4 May 2017 20:27:25 +0000 (13:27 -0700)]
Fix broken linux build

* Generic linux does not have property_get_int32. Instead,
  osi_property_get_int32() is created to handle OS_GENERIC cases
* Some linux header have sigevent.sigev_notify_attributes typed as
  (pthread_attr_t *) whereas others typed it as (void *), as any pointer
  can be implicitly casted to (void *), the current casting to (void *)
  is unncessary and will break build on systems using (pthread_attr_t *)

Test: make, unit test, no user visible effect
Change-Id: I24b33da453dc9d40656168a3bcd900d9c99219ce

7 years agoMerge "Swap BTA and HCI queues with message loops" am: f5db809606 am: 9d2452d7c1
Ajay Panicker [Mon, 8 May 2017 19:40:57 +0000 (19:40 +0000)]
Merge "Swap BTA and HCI queues with message loops" am: f5db809606 am: 9d2452d7c1
am: 3b81ccb7f4

Change-Id: Ife763c68ebfff695ff387947c74137e0b0f445bf

7 years agoMerge "Swap BTA and HCI queues with message loops" am: f5db809606
Ajay Panicker [Mon, 8 May 2017 19:37:57 +0000 (19:37 +0000)]
Merge "Swap BTA and HCI queues with message loops" am: f5db809606
am: 9d2452d7c1

Change-Id: I9bd040e18682cd3b10e88e90e4ecd4c74fb3a5b7

7 years agoMerge "Swap BTA and HCI queues with message loops"
Ajay Panicker [Mon, 8 May 2017 19:34:28 +0000 (19:34 +0000)]
Merge "Swap BTA and HCI queues with message loops"
am: f5db809606

Change-Id: I499fd6260777c054fa1763d1febf9be01234f1bc

7 years agoMerge "Reject LE COC if cid is duplicated" am: 95e3c5ac39 am: 890b25c8b1
Andre Eisenbach [Mon, 8 May 2017 19:28:28 +0000 (19:28 +0000)]
Merge "Reject LE COC if cid is duplicated" am: 95e3c5ac39 am: 890b25c8b1
am: 97331a79eb

Change-Id: Idea373689e7e82f5f9b99f6ce9ceec84313f2680

7 years agoMerge "Swap BTA and HCI queues with message loops"
Treehugger Robot [Mon, 8 May 2017 19:27:33 +0000 (19:27 +0000)]
Merge "Swap BTA and HCI queues with message loops"

7 years agoMerge "Reject LE COC if cid is duplicated" am: 95e3c5ac39
Andre Eisenbach [Mon, 8 May 2017 19:22:57 +0000 (19:22 +0000)]
Merge "Reject LE COC if cid is duplicated" am: 95e3c5ac39
am: 890b25c8b1

Change-Id: I2eaa7c7f7f2ae36251635c3c72016e495c28441c

7 years agoMerge "Reject LE COC if cid is duplicated"
Andre Eisenbach [Mon, 8 May 2017 19:19:57 +0000 (19:19 +0000)]
Merge "Reject LE COC if cid is duplicated"
am: 95e3c5ac39

Change-Id: I16e1c8bc032df0215f72187639fe9e8a31444192

7 years agoMerge "Reject LE COC if cid is duplicated"
Andre Eisenbach [Mon, 8 May 2017 19:13:56 +0000 (19:13 +0000)]
Merge "Reject LE COC if cid is duplicated"

7 years agoAdd additional failure modes for SMP PTS test cases am: fd102ca161 am: cd6b7988d6
ravishankar srivatsa [Mon, 8 May 2017 18:07:53 +0000 (18:07 +0000)]
Add additional failure modes for SMP PTS test cases am: fd102ca161 am: cd6b7988d6
am: 4a12410fdd

Change-Id: I58423d78aa65ea2a69ad0ef2363a1806a1b397d5

7 years agoAdd additional failure modes for SMP PTS test cases am: fd102ca161
ravishankar srivatsa [Mon, 8 May 2017 18:04:50 +0000 (18:04 +0000)]
Add additional failure modes for SMP PTS test cases am: fd102ca161
am: cd6b7988d6

Change-Id: Iecaf5f6655631388c10930b93a5b9a2825bc8744

7 years agoAdd additional failure modes for SMP PTS test cases
ravishankar srivatsa [Mon, 8 May 2017 18:01:51 +0000 (18:01 +0000)]
Add additional failure modes for SMP PTS test cases
am: fd102ca161

Change-Id: Ie808ef38dcd0367b54eee0f66362e4c2dac04407

7 years agoSwap BTA and HCI queues with message loops
Ajay Panicker [Wed, 1 Mar 2017 18:00:30 +0000 (10:00 -0800)]
Swap BTA and HCI queues with message loops

Swapping out the queues with base::MessageLoop allows for an easier refactor
of alarms as we can just replace them with an instance of base::Timer. Also
refactored out the data_dispatcher as most of the code wasn't being used.

Bug: 37245162
Test: Bluetooth sanity test and listening to music
      added net_test_btu_message_loop
Change-Id: I73c359f07a225733dc89f51422a6a24ce807c593

7 years agoReject LE COC if cid is duplicated
Jaganath Kanakkassery [Tue, 2 May 2017 10:54:16 +0000 (16:24 +0530)]
Reject LE COC if cid is duplicated

This is for PTS test TP/LE/CFC/BV-20-C.

The scenario is there is already one COC between DUT and PTS.
Then PTS tries to establish one more COC with same cid which
should be rejected.

Change-Id: I094a4058ac0e7bb9d7344e66d9feafee17bc3d53
Signed-off-by: Jaganath Kanakkassery <jaganathx.kanakkassery@intel.com>
7 years agoLE advertise data parsing refactor
Jakub Pawlowski [Mon, 8 May 2017 16:24:36 +0000 (16:24 +0000)]
LE advertise data parsing refactor
am: cfd6525c3d

Change-Id: Ie40a45b7fee7c1b631b35713502616e7a7dc19c6

7 years agoCheck device name length
Jakub Pawlowski [Mon, 8 May 2017 16:24:11 +0000 (16:24 +0000)]
Check device name length
am: d7ed7c0e3d

Change-Id: I79056327664a9fe20bf8f2eb984920954bf9fd95

7 years agoAdd additional failure modes for SMP PTS test cases
ravishankar srivatsa [Thu, 4 May 2017 04:43:58 +0000 (10:13 +0530)]
Add additional failure modes for SMP PTS test cases

SM/MAS/SCJW/BI-01-C [Just Works, IUT Initiator, Secure Connections -Pairing Failed
For Lower tester to handle step 15.
Lower Tester responds with a Pairing Failed command in phase 2 with reason code
0x0C (Numeric Comparison Failed).

Bug: 37707831
Change-Id: Ia7103330d1d1ecb06e39502c2a0976585b203ba5
Signed-off-by: Ravishankar Srivatsa <Ravishankar.Srivatsa@intel.com>
Test: manual

7 years agoLE advertise data parsing refactor
Jakub Pawlowski [Fri, 28 Apr 2017 21:59:46 +0000 (14:59 -0700)]
LE advertise data parsing refactor

* merge BTM_CheckAdvData and BTM_CheckEirData into GetFieldByType
* check wether AD data is properly formatted when the packet is
  received. Some controllers were returning malformed data that
  resulted in stack crashes for BT5 packets.
* add tests to verify the helpers work as expected

Test: added net_test_stack_ad_parser
Bug: 37671082
Change-Id: I49e43d7cf7d0a8ace1ee45d9b14b2b8440096b05
(cherry picked from commit 103b2c44d3db6172a2dc9319e215eeece504316e)

7 years agoCheck device name length
Jakub Pawlowski [Fri, 28 Apr 2017 12:15:16 +0000 (05:15 -0700)]
Check device name length

BT spec limits the length of device name to 248 bytes. With the new
LE advertising packets, that can go up to 1650 bytes long, we must check
the length of device name received.

Bug: 37671082
Test: manual
Change-Id: Iad309d638003c2391014c9764605d84ed5717cb1
(cherry picked from commit 3a4e7622ff07772a512052c23cada59f5830941f)

7 years agobta_dm: Stop copying garbage am: 36d19de1aa am: da798e5e85
Martin Brabham [Sat, 6 May 2017 03:10:39 +0000 (03:10 +0000)]
bta_dm: Stop copying garbage am: 36d19de1aa am: da798e5e85
am: 8e764c5b3d

Change-Id: Iccc68b96164abd9ab5e493a0f6e3b6ae5912b264

7 years agobta_dm: Stop copying garbage am: 36d19de1aa
Martin Brabham [Sat, 6 May 2017 03:02:35 +0000 (03:02 +0000)]
bta_dm: Stop copying garbage am: 36d19de1aa
am: da798e5e85

Change-Id: I1ca5479b2a8355091a8fbf9771ac9133ab1f53ba

7 years agobta_dm: Stop copying garbage
Martin Brabham [Sat, 6 May 2017 03:00:31 +0000 (03:00 +0000)]
bta_dm: Stop copying garbage
am: 36d19de1aa

Change-Id: Ie723a15c8f9f9280dd93beaccbada8a1458b8717

7 years agobta_dm: Stop copying garbage
Martin Brabham [Mon, 1 May 2017 23:30:40 +0000 (16:30 -0700)]
bta_dm: Stop copying garbage

After we reach 7 ACL connections we have 7 peer device records.
Once we reach this then we lose a connection and shrink the list we
copy garbage into the last peer device record.  This can cause the flag
remove_dev_pending to be set to something > 0 thus true which causes the
stack to remove the device and its bonding information on the next
acl change event.

ACL Connections can happen from any connection (pairing, SDP, etc...)

Bug: 36598959
Test: Manual
Change-Id: Ifbaa4098edba442274ffde183960ef53169988e7

7 years agoMove hci_thread to a message loop and prevent thread from spinning am: 48294531bf...
Ajay Panicker [Sat, 6 May 2017 00:51:58 +0000 (00:51 +0000)]
Move hci_thread to a message loop and prevent thread from spinning am: 48294531bf am: 97b987c390
am: e0d1e28d46

Change-Id: Ie5b9676b6316a260db4299a91140aad4a62b2f54

7 years agoMove hci_thread to a message loop and prevent thread from spinning am: 48294531bf
Ajay Panicker [Sat, 6 May 2017 00:36:50 +0000 (00:36 +0000)]
Move hci_thread to a message loop and prevent thread from spinning am: 48294531bf
am: 97b987c390

Change-Id: I9d671f7ad9b426959aeffa924b2a8daa854dc4d1

7 years agoMove hci_thread to a message loop and prevent thread from spinning
Ajay Panicker [Sat, 6 May 2017 00:27:09 +0000 (00:27 +0000)]
Move hci_thread to a message loop and prevent thread from spinning
am: 48294531bf

Change-Id: I4b1e3da909a4cd6125c17f4dc56a0d73aad31f70

7 years agoMove hci_thread to a message loop and prevent thread from spinning
Ajay Panicker [Fri, 28 Apr 2017 22:26:38 +0000 (15:26 -0700)]
Move hci_thread to a message loop and prevent thread from spinning

Before this patch, if there was a message on the command queue and
there were no command credits, the thread reactor would spin trying
to process the message on the command queue and would continue until
a credit was received. This led to a bug where upon switching users,
hci_thread would spin and try to use 100% of the CPU. This is fixed
by moving over to a message loop and queue system. The message loop
processes all the messages. If there aren't enough command credits,
command messages are deferred to the command queue and popped off
whenever more credits are aquired. The deferred queue has priority
to credits over recently posted messages.

Bug: 37733903
Test: Swap users with the real time scheduling patch applied, and
      general Bluetooth usage.
      TestTracker: 86249
Change-Id: Ib775e47f6d4810d3d7d8af5b3ba84adc4ada3da5
(cherry picked from commit ffee0ee8a102101ded1d3fa398f20c4215e0c441)

7 years agoMerge "Revert "Revert "Make Bluetooth audio threads use RT scheduling""" into oc-dev
Philip Cuadra [Fri, 5 May 2017 22:26:03 +0000 (22:26 +0000)]
Merge "Revert "Revert "Make Bluetooth audio threads use RT scheduling""" into oc-dev
am: b7bdbe76e9

Change-Id: I7241ef62d5d80612c28a80a7f236e5f43769a088

7 years agoMove hci_thread to a message loop and prevent thread from spinning
Ajay Panicker [Fri, 5 May 2017 22:25:53 +0000 (22:25 +0000)]
Move hci_thread to a message loop and prevent thread from spinning
am: ffee0ee8a1

Change-Id: Id7e7baaba714fd88d7f1bb562070f131b8155d13

7 years agoMerge "Revert "Revert "Make Bluetooth audio threads use RT scheduling""" into oc-dev
TreeHugger Robot [Fri, 5 May 2017 22:17:39 +0000 (22:17 +0000)]
Merge "Revert "Revert "Make Bluetooth audio threads use RT scheduling""" into oc-dev

7 years agoLE advertise data parsing refactor am: 103b2c44d3 am: 17899fab2f
Jakub Pawlowski [Fri, 5 May 2017 22:13:17 +0000 (22:13 +0000)]
LE advertise data parsing refactor am: 103b2c44d3 am: 17899fab2f
am: c78baf5da6

Change-Id: Ibc2e6aebdbdebe1229f73dd95d4a8fa4fda8f892

7 years agoLE advertise data parsing refactor am: 103b2c44d3
Jakub Pawlowski [Fri, 5 May 2017 22:09:41 +0000 (22:09 +0000)]
LE advertise data parsing refactor am: 103b2c44d3
am: 17899fab2f

Change-Id: I959de2110f7cb3778185445bce2ec1e4541046c0

7 years agoLE advertise data parsing refactor
Jakub Pawlowski [Fri, 5 May 2017 22:05:19 +0000 (22:05 +0000)]
LE advertise data parsing refactor
am: 103b2c44d3

Change-Id: I467cf2628393c11d316ad12664aa04f19106f036

7 years agoMove hci_thread to a message loop and prevent thread from spinning
Ajay Panicker [Fri, 28 Apr 2017 22:26:38 +0000 (15:26 -0700)]
Move hci_thread to a message loop and prevent thread from spinning

Before this patch, if there was a message on the command queue and
there were no command credits, the thread reactor would spin trying
to process the message on the command queue and would continue until
a credit was received. This led to a bug where upon switching users,
hci_thread would spin and try to use 100% of the CPU. This is fixed
by moving over to a message loop and queue system. The message loop
processes all the messages. If there aren't enough command credits,
command messages are deferred to the command queue and popped off
whenever more credits are aquired. The deferred queue has priority
to credits over recently posted messages.

Bug: 37733903
Test: Swap users with the real time scheduling patch applied, and
      general Bluetooth usage.
      TestTracker: 86249
Change-Id: Ib775e47f6d4810d3d7d8af5b3ba84adc4ada3da5

7 years agoLE advertise data parsing refactor
Jakub Pawlowski [Fri, 28 Apr 2017 21:59:46 +0000 (14:59 -0700)]
LE advertise data parsing refactor

* merge BTM_CheckAdvData and BTM_CheckEirData into GetFieldByType
* check wether AD data is properly formatted when the packet is
  received. Some controllers were returning malformed data that
  resulted in stack crashes for BT5 packets.
* add tests to verify the helpers work as expected

Test: added net_test_stack_ad_parser
Bug: 37671082
Change-Id: I49e43d7cf7d0a8ace1ee45d9b14b2b8440096b05

7 years agoCheck device name length am: 3a4e7622ff am: 082497f5f7
Jakub Pawlowski [Fri, 5 May 2017 09:08:51 +0000 (09:08 +0000)]
Check device name length am: 3a4e7622ff am: 082497f5f7
am: 475cac4041

Change-Id: Ie7bb842ae49fd4ece09a89104478de13146678aa

7 years agoCheck device name length am: 3a4e7622ff
Jakub Pawlowski [Fri, 5 May 2017 08:59:52 +0000 (08:59 +0000)]
Check device name length am: 3a4e7622ff
am: 082497f5f7

Change-Id: Ia320219295ff6c239e7a5e7d7d5a88cc809828ef

7 years agoCheck device name length
Jakub Pawlowski [Fri, 5 May 2017 08:51:50 +0000 (08:51 +0000)]
Check device name length
am: 3a4e7622ff

Change-Id: Ie5935fa0bb9b15c2a3caae3db43fdaebf4a83002

7 years agoCheck device name length
Jakub Pawlowski [Fri, 28 Apr 2017 12:15:16 +0000 (05:15 -0700)]
Check device name length

BT spec limits the length of device name to 248 bytes. With the new
LE advertising packets, that can go up to 1650 bytes long, we must check
the length of device name received.

Bug: 37671082
Test: manual
Change-Id: Iad309d638003c2391014c9764605d84ed5717cb1

7 years agoDO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0 ...
Sridhar Vashist [Fri, 5 May 2017 01:26:52 +0000 (01:26 +0000)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0  -s ours am: 6c0de854a3  -s ours
am: f505a01c14  -s ours

Change-Id: Iebaa74fce96186c671bb789b7aa5f465f5ad3d83

7 years agoDO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0 ...
Sridhar Vashist [Fri, 5 May 2017 01:23:51 +0000 (01:23 +0000)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0  -s ours am: 6c0de854a3  -s ours
am: 4311275640  -s ours

Change-Id: I432a3be6d12b09cdb9359f75e55868d6396e80fd

7 years agoDO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0 ...
Sridhar Vashist [Fri, 5 May 2017 01:21:52 +0000 (01:21 +0000)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0  -s ours
am: 6c0de854a3  -s ours

Change-Id: I1461d75a0cdf2fb5a209b094df02830092c05141

7 years agoDO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0 ...
Sridhar Vashist [Fri, 5 May 2017 01:21:51 +0000 (01:21 +0000)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links. am: 7d3de37da0  -s ours
am: 6c0de854a3  -s ours

Change-Id: Iaba991df9e9a60f45ef12b4b03a0b6e555b40a33

7 years agoDO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links.
Sridhar Vashist [Fri, 5 May 2017 01:17:20 +0000 (01:17 +0000)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links.
am: 7d3de37da0  -s ours

Change-Id: I90f535c99d45ebf0def0b2b08031a21f998c1c2e

7 years agoDO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links.
Sridhar Vashist [Fri, 28 Oct 2016 18:37:49 +0000 (13:37 -0500)]
DO NOT MERGE ANYWHERE Disable 3Mbps packets for AVDT ACL links.

3DH packets have a lower tolerance to background noise. A2DP requiring higher
bandwidth & realtime playback is especially suscepitble in this scenario.

Bug: 37515006
Test: oem manual
Change-Id: Id4d7452a86fe864eceb88a9fb16a40dc921a1e13

7 years agoMerge "Limit btsnoop file size (5/9)" into oc-dev
Ajay Panicker [Thu, 4 May 2017 23:34:27 +0000 (23:34 +0000)]
Merge "Limit btsnoop file size (5/9)" into oc-dev
am: a46530704f  -s ours

Change-Id: I1408f63c75a01e4de60487499abc14d1c9c4cc6f

7 years agoLimit btsnoop file size (5/9)
Ajay Panicker [Thu, 4 May 2017 23:23:39 +0000 (23:23 +0000)]
Limit btsnoop file size (5/9)
am: 21ae30a6e5  -s ours

Change-Id: I1dc9b52163fb2c35c3c7e06444d93619f7f98956

7 years agoMerge "Limit btsnoop file size (5/9)" into oc-dev
Ajay Panicker [Thu, 4 May 2017 22:56:16 +0000 (22:56 +0000)]
Merge "Limit btsnoop file size (5/9)" into oc-dev

7 years agoMerge "Add supervision timeout workaround for Nexus Remote" into oc-dev
Jakub Pawlowski [Thu, 4 May 2017 20:27:01 +0000 (20:27 +0000)]
Merge "Add supervision timeout workaround for Nexus Remote" into oc-dev
am: 51e56f54c4

Change-Id: I1b9b2bb3974561f2920007d09b4bf43ebefebd1d

7 years agoMerge "Add supervision timeout workaround for Nexus Remote" into oc-dev
Jakub Pawlowski [Thu, 4 May 2017 20:22:57 +0000 (20:22 +0000)]
Merge "Add supervision timeout workaround for Nexus Remote" into oc-dev

7 years agoRemove 96.0 and 88.2 kHz sample rate from A2DP AAC capability
Pavlin Radoslavov [Thu, 4 May 2017 20:21:00 +0000 (20:21 +0000)]
Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability
am: d7809b1a8c

Change-Id: I90b107263feab693df2456be83d1c0517f321cb5

7 years agoMerge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability" am: d861719531...
Pavlin Radoslavov [Thu, 4 May 2017 18:40:13 +0000 (18:40 +0000)]
Merge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability" am: d861719531 am: d4ff605732
am: f096faed1a

Change-Id: Icc28a63acfd837a7b516d1e4a987db123a8f734e

7 years agoMerge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability" am: d861719531
Pavlin Radoslavov [Thu, 4 May 2017 18:32:54 +0000 (18:32 +0000)]
Merge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability" am: d861719531
am: d4ff605732

Change-Id: Iac92fa917a98cdf8e3c358d7386b4b27a688f98b

7 years agoMerge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability"
Pavlin Radoslavov [Thu, 4 May 2017 18:27:24 +0000 (18:27 +0000)]
Merge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability"
am: d861719531

Change-Id: Iee78e052c01a772f30c6dcf19a9bf97036751f5c

7 years agoMerge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability"
Treehugger Robot [Thu, 4 May 2017 18:23:50 +0000 (18:23 +0000)]
Merge "Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability"

7 years agoAdd supervision timeout workaround for Nexus Remote
Jakub Pawlowski [Tue, 28 Mar 2017 19:58:34 +0000 (12:58 -0700)]
Add supervision timeout workaround for Nexus Remote

The Nexus Remote would report 100ms supervision timeout in its preferred
connection parameters. In some noisy environments, this might cause
connection to be dropped. As a workaround, set the timeout to 3s for the
remote.

Test: manual
Bug: 36645397
Bug: 37717216
Change-Id: I665a854e9d55067ec1aca273c31d06c6114c48be
(cherry picked from commit 9e6747537a4a2c0143c26ab31e4597a017372e5f)

7 years agoRemove 96.0 and 88.2 kHz sample rate from A2DP AAC capability
Pavlin Radoslavov [Thu, 4 May 2017 05:48:28 +0000 (22:48 -0700)]
Remove 96.0 and 88.2 kHz sample rate from A2DP AAC capability

The A2DP AAC Source capabilty should not include 96.0 and 88.2 kHz
sample rate - those were included unintentionally without being tested.

Bug: 37968743
Test: A2DP AAC streaming
Change-Id: Ia3228d4d14d3288acfda42fbaf8ab248ae530b48
(cherry picked from commit 4b93aeb450c4e42a80d8519528dc8fcfacc1d964)

7 years agoAdd supervision timeout workaround for Nexus Remote am: 9e6747537a am: ce0e5306db
Jakub Pawlowski [Thu, 4 May 2017 16:56:16 +0000 (16:56 +0000)]
Add supervision timeout workaround for Nexus Remote am: 9e6747537a am: ce0e5306db
am: a8ed61342e

Change-Id: I674832a273689570ef727fecd35da0b1ed0b7b8c

7 years agoAdd supervision timeout workaround for Nexus Remote am: 9e6747537a
Jakub Pawlowski [Thu, 4 May 2017 16:52:44 +0000 (16:52 +0000)]
Add supervision timeout workaround for Nexus Remote am: 9e6747537a
am: ce0e5306db

Change-Id: Ia97abb523bd9e4b60a844440f75770f55f555517

7 years agoAdd supervision timeout workaround for Nexus Remote
Jakub Pawlowski [Thu, 4 May 2017 16:49:44 +0000 (16:49 +0000)]
Add supervision timeout workaround for Nexus Remote
am: 9e6747537a

Change-Id: I89970cc9eaf72cbbbae294dc1a6816b612ed7579