OSDN Git Service

android-x86/system-bt.git
9 years agoam 3c0ea3e5: test_vendor_lib: Use EPOLLOUT
Dennis Cheng [Tue, 4 Aug 2015 18:38:01 +0000 (18:38 +0000)]
am 3c0ea3e5: test_vendor_lib: Use EPOLLOUT

* commit '3c0ea3e5a5aca269283854d8f2f584ad0699c951':
  test_vendor_lib: Use EPOLLOUT

9 years agotest_vendor_lib: Use EPOLLOUT
Dennis Cheng [Tue, 16 Jun 2015 19:44:55 +0000 (12:44 -0700)]
test_vendor_lib: Use EPOLLOUT

HciTransport checks for write-readiness before sending any packets
back to the HCI. Packets are maintained on a queue and only written
when the EPOLLOUT flag is set in the epoll_event.

Bug: 21586676
Change-Id: Iebd9599286b62746e2be7e424c522058ae978bb1

9 years agoam d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections
Nitin Arora [Tue, 4 Aug 2015 16:39:48 +0000 (16:39 +0000)]
am d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections

* commit 'd63f7c0b26057f650fd30526758cd259c0b3480a':
  Add Dialog mouse & KB to blacklist for LE secure connections

9 years agoam 84d13eda: Add an explicit check for AVRCP vendor data
Pavlin Radoslavov [Tue, 4 Aug 2015 16:39:47 +0000 (16:39 +0000)]
am 84d13eda: Add an explicit check for AVRCP vendor data

* commit '84d13edac39c51290e858a71fea58925db3844bc':
  Add an explicit check for AVRCP vendor data

9 years agoAdd Dialog mouse & KB to blacklist for LE secure connections
Nitin Arora [Tue, 28 Jul 2015 23:00:55 +0000 (16:00 -0700)]
Add Dialog mouse & KB to blacklist for LE secure connections

This change allows the host to mask the Cross key bit in
the key distribution fields of the pairing request and
response while pairing with the Dialog keyboard and mouse
to prevent the remote from rejecting the DUT's pairing request.

Bug: 22799966
Change-Id: I89420e77875957c78e915c508de311d779fd03df

9 years agoAdd an explicit check for AVRCP vendor data
Pavlin Radoslavov [Tue, 4 Aug 2015 16:05:39 +0000 (09:05 -0700)]
Add an explicit check for AVRCP vendor data

Add an explicit check for AVRCP vendor data when parsing received vendor
commands or responses.

Bug: 21768387
Change-Id: I715de6fc7348d063c448971a8dae6dd1b00c7062

9 years agoam caaa00f5: Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Tue, 4 Aug 2015 05:28:32 +0000 (05:28 +0000)]
am caaa00f5: Fix a crash for a race condition during Bluetooth shutdown

* commit 'caaa00f5ede96461e11de866ac15f5224442d1eb':
  Fix a crash for a race condition during Bluetooth shutdown

9 years agoFix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Tue, 4 Aug 2015 04:58:45 +0000 (21:58 -0700)]
Fix a crash for a race condition during Bluetooth shutdown

This is same race condition observed in btif_media_task_aa_tx_flush_req()
because btif_media_task_aa_tx_flush_req() and btif_media_task_stop_aa_req()
are called back-to-bach.

This race condition is triggered when A2DP audio is streaming on shutdown:
"btif_a2dp_on_stopped() -> btif_media_task_stop_aa_req()" is called
to stop the particular audio stream, and this happens right after
the "cleanup() -> btif_a2dp_stop_media_task()" processing during
the shutdown of the Bluetooth stack.

Bug: 22700411
Change-Id: Ia0c98d44a108cf0f57731ac8129e4d76c9934542

9 years agoam 6f2cecf9: Merge "bluedroidtest: drop obsolete libhardware_legacy dependency."
Ian Coolidge [Mon, 3 Aug 2015 21:02:50 +0000 (21:02 +0000)]
am 6f2cecf9: Merge "bluedroidtest: drop obsolete libhardware_legacy dependency."

* commit '6f2cecf90691c44c0a7955fa765d55795bacb6e5':
  bluedroidtest: drop obsolete libhardware_legacy dependency.

9 years agoMerge "bluedroidtest: drop obsolete libhardware_legacy dependency."
Ian Coolidge [Mon, 3 Aug 2015 20:45:39 +0000 (20:45 +0000)]
Merge "bluedroidtest: drop obsolete libhardware_legacy dependency."

9 years agobluedroidtest: drop obsolete libhardware_legacy dependency.
Ian Coolidge [Fri, 31 Jul 2015 22:36:07 +0000 (15:36 -0700)]
bluedroidtest: drop obsolete libhardware_legacy dependency.

Change-Id: Iecd7839aa52debb14c6fc10da2d7f838f8d05327

9 years agoam f3b1820e: test_vendor_lib: Initial commit
Dennis Cheng [Mon, 3 Aug 2015 18:45:48 +0000 (18:45 +0000)]
am f3b1820e: test_vendor_lib: Initial commit

* commit 'f3b1820e1676261886a6537e1f6abac6a35ed6d4':
  test_vendor_lib: Initial commit

9 years agotest_vendor_lib: Initial commit
Dennis Cheng [Tue, 16 Jun 2015 19:44:55 +0000 (12:44 -0700)]
test_vendor_lib: Initial commit

Basic vendor library for a test Bluetooth controller. Currently consists
of mostly stub functions and objects and can only handle the reset
command (by immediately responding with a command complete event).
Implemented through a global EventDispatcher object which waits for data
from the HCI and directly returns the appropriate response.

Eventually, the dispatcher will manage a fake controller object that
will provide callbacks to be executed whenever events are processed by
the dispatcher. Unit tests are still in progress and will be in the next
upload.

Bug: 21586676
Change-Id: I1c6746f8b0f1732b89a1da13facecdd49b5ac1b6

9 years agoam c6760d82: Provide --android-ipc-socket-suffix.
Ian Coolidge [Sat, 1 Aug 2015 02:24:17 +0000 (02:24 +0000)]
am c6760d82: Provide --android-ipc-socket-suffix.

* commit 'c6760d82357f46943406c579f5b1c291a20afdeb':
  Provide --android-ipc-socket-suffix.

9 years agoam 9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.
Sharvil Nanavati [Fri, 31 Jul 2015 23:44:08 +0000 (23:44 +0000)]
am 9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.

* commit '9de273d9fb99b9f612b8acd50e09225f60444363':
  Fix CTS Verifier test for insecure RFCOMM connection.

9 years agoFix CTS Verifier test for insecure RFCOMM connection.
Sharvil Nanavati [Fri, 31 Jul 2015 21:22:08 +0000 (14:22 -0700)]
Fix CTS Verifier test for insecure RFCOMM connection.

Closing an RFCOMM server socket does not remove the corresponding
service record from the security database. However, the RFCOMM
channel becomes free for reuse. The next RFCOMM server socket will
therefore "inherit" the service record for the closed one if it
happens to reuse the same channel.

Bug: 22880207
Change-Id: Ida3fee49e5f40667d9992dc4c4442f9289adae9e

9 years agoProvide --android-ipc-socket-suffix.
Ian Coolidge [Fri, 31 Jul 2015 03:51:47 +0000 (20:51 -0700)]
Provide --android-ipc-socket-suffix.

This allows Android init to create a socket
for the service, and have consolidated access control.

Android init creates the socket and passes the FD through
an environment variable, so we must use OSI to decode it.

Bug: 22807533
Change-Id: I7ec0a14b8f3b44277ce99faad68623d6691f7863

9 years agoam fe65fb79: service: Refactor IPC and singletons
Arman Uguray [Fri, 31 Jul 2015 18:11:43 +0000 (18:11 +0000)]
am fe65fb79: service: Refactor IPC and singletons

* commit 'fe65fb7978bc9257a36d1e5eae59c5f412dbdb49':
  service: Refactor IPC and singletons

9 years agoservice: Refactor IPC and singletons
Arman Uguray [Sat, 25 Jul 2015 02:14:42 +0000 (19:14 -0700)]
service: Refactor IPC and singletons

This CL makes the following major refactors to the system service code:

  1. A new global Daemon object is introduced, which manages the main event
  loop and all other subsystems of the Bluetooth daemon. This object is the only
  singleton class and initializes and owns everything else.

  2. Everything that was a singleton and/or was initialized directly in main.cpp
  is now a) no longer a singleton; b) now initialized and owned by the global
  Daemon instance.

  3. All of the Chromecast specific IPC code has been moved into the ipc/
  subdirectory. This directory is meant for everything that is IPC related,
  paving the way for enabling multiple IPC systems (domain-socket based, Binder
  based, etc) simultaneously in the future. Main changes to the Chromecast IPC
  code are:

      a. All files and classes have been renamed to reflect the
      UNIX-domain-socket-specific nature of the IPC mechanism.

      b. The code no longer hogs up the main thread while listening for
      connections. All of this logic has been moved to a dedicated thread with
      its own MessageLoopForIO, so that it can use the built-in mechanisms for
      polling on client sockets in the future.

Bug: 22532180
Change-Id: I42db06dba6cff3bc8f8101a1ea2b6787a69409fd

9 years agoam fd8fdca4: service: Add null initialization for new scan cb.
Ian Coolidge [Thu, 30 Jul 2015 21:22:57 +0000 (21:22 +0000)]
am fd8fdca4: service: Add null initialization for new scan cb.

* commit 'fd8fdca47afdcb797b35a05bc7bf57dd1ccbdca1':
  service: Add null initialization for new scan cb.

9 years agoservice: Add null initialization for new scan cb.
Ian Coolidge [Thu, 11 Jun 2015 03:34:43 +0000 (20:34 -0700)]
service: Add null initialization for new scan cb.

scan_parameter_setup_completed_cb was added to
btgatt_client_callbacks_t.

Change-Id: If0aa113df7cf3db742fa64244bbb7a849c877525

9 years agoam efa5991f: Fix a NULL-pointer crash
Pavlin Radoslavov [Thu, 30 Jul 2015 00:36:16 +0000 (00:36 +0000)]
am efa5991f: Fix a NULL-pointer crash

* commit 'efa5991fc7dc3b9b74b73966a4bf5cd5aad9f06a':
  Fix a NULL-pointer crash

9 years agoFix a NULL-pointer crash
Pavlin Radoslavov [Wed, 29 Jul 2015 23:52:47 +0000 (16:52 -0700)]
Fix a NULL-pointer crash

It seems that the current implementation of btm_sec_encrypt_change()
does not handle the case when it is called with an invalid handle,
such as inside file btu_hcif.c :

  case HCI_SET_CONN_ENCRYPTION:
    /* Device refused to start encryption. ... */
    btm_sec_encrypt_change(BTM_INVALID_HCI_HANDLE, ...)

Bug: 22791224

Change-Id: Ide9404d0c82819399cf258ae3f90c25b352f1e20

9 years agoMerge "resolved conflicts for merge of f993a9c4 to mnc-dev-plus-aosp" into mnc-dev...
Miao-chen Chou [Wed, 29 Jul 2015 22:27:37 +0000 (22:27 +0000)]
Merge "resolved conflicts for merge of f993a9c4 to mnc-dev-plus-aosp" into mnc-dev-plus-aosp

9 years agoam 48a4b9cd: Assign pseudo address for host-based RPA resolution matches
Andre Eisenbach [Wed, 29 Jul 2015 22:08:35 +0000 (22:08 +0000)]
am 48a4b9cd: Assign pseudo address for host-based RPA resolution matches

* commit '48a4b9cd18a306a45249898008c73f80fb3b9d48':
  Assign pseudo address for host-based RPA resolution matches

9 years agoAssign pseudo address for host-based RPA resolution matches
Andre Eisenbach [Wed, 29 Jul 2015 19:36:06 +0000 (12:36 -0700)]
Assign pseudo address for host-based RPA resolution matches

Bug: 21963935
Change-Id: Id72001ce17996ea04c3eba32cebcac4dbbe317bc

9 years agoresolved conflicts for merge of f993a9c4 to mnc-dev-plus-aosp
Miao Chou [Wed, 29 Jul 2015 07:29:29 +0000 (00:29 -0700)]
resolved conflicts for merge of f993a9c4 to mnc-dev-plus-aosp

Change-Id: Iaef9ab0fd5f4ed0ede18fd2a9899669293d9343c

9 years agoam b61d25c5: Fix memory leak in A2DP event handler
Andre Eisenbach [Wed, 29 Jul 2015 19:36:20 +0000 (19:36 +0000)]
am b61d25c5: Fix memory leak in A2DP event handler

* commit 'b61d25c52fcfa1853c7555acda61d848ef6be3e9':
  Fix memory leak in A2DP event handler

9 years agoFix memory leak in A2DP event handler
Andre Eisenbach [Wed, 29 Jul 2015 18:57:50 +0000 (11:57 -0700)]
Fix memory leak in A2DP event handler

btif_av_event_free_data() was not called in all states (idle state only)
leading to potential memory leaks.

Bug: 22822688
Change-Id: I40520c605c9a806e6cd5ee6e36c101d0aa8d4355

9 years agoam 82c8b927: Reset LE encryption key size at LE disconnection only
Nitin Arora [Wed, 29 Jul 2015 08:12:14 +0000 (08:12 +0000)]
am 82c8b927: Reset LE encryption key size at LE disconnection only

* commit '82c8b9270ba962d5f271a833a3454baddbc063aa':
  Reset LE encryption key size at LE disconnection only

9 years agoReset LE encryption key size at LE disconnection only
Nitin Arora [Thu, 2 Jul 2015 21:08:39 +0000 (14:08 -0700)]
Reset LE encryption key size at LE disconnection only

This change checks the transport type on receiving the disconnection
and resets the encryption key size only if the LE disconnection
has taken place.
This fixes the issue where read request to characteristics that
require encryption,  fails after cross key derivation due to
disconnection of BR/EDR transport.

Bug: 22515016
Change-Id: If6aad91a628eabbb5a4b7f5c22812fe94d4c5db2

9 years agoam dab356e3: Promote AVCTP version to 1.4
Anubhav Gupta [Wed, 29 Jul 2015 07:13:07 +0000 (07:13 +0000)]
am dab356e3: Promote AVCTP version to 1.4

* commit 'dab356e3b0573303840e63cbafb1065d57a11e2c':
  Promote AVCTP version to 1.4

9 years agoPromote AVCTP version to 1.4
Anubhav Gupta [Tue, 28 Jul 2015 06:32:57 +0000 (12:02 +0530)]
Promote AVCTP version to 1.4

Promoting AVCTP version to 1.4 from 1.2 as Bluedroid stack
already has got support for the same.
Below changes are incorporated as part of this:
 - AVCTP version in SDP entry is upgraded to 1.4 for both AVRCP
   Target and controller role.
 - Service class #1 is added in extra for AVRCP Controller SDP
   entry to be in sync with AVCTP version change.
 - Browsing support is not enabled as that needs corresponding
   profile level implementation, which is currently unavailable.

Change-Id: I72f7f67eb0a789fd321e9468f2a51bb5e9385a89

9 years agoam 1b3a3d82: Add GN files for vendor_libs
Arman Uguray [Wed, 29 Jul 2015 00:17:20 +0000 (00:17 +0000)]
am 1b3a3d82: Add GN files for vendor_libs

* commit '1b3a3d82840fd39e8b43e7cc761155dd1abeb417':
  Add GN files for vendor_libs

9 years agoMerge "build: Eliminate cutils/str_parms dependency from system/bt"
Miao-chen Chou [Tue, 28 Jul 2015 23:55:28 +0000 (23:55 +0000)]
Merge "build: Eliminate cutils/str_parms dependency from system/bt"

9 years agoAdd GN files for vendor_libs
Arman Uguray [Tue, 28 Jul 2015 01:32:05 +0000 (18:32 -0700)]
Add GN files for vendor_libs

Added BUILD.gn files for vendor_libs and vendor_libs/linux.

Bug: 21585592
Change-Id: I33f98421a94a4b4f530e48c94711775d776d02d7

9 years agobuild: Eliminate cutils/str_parms dependency from system/bt
Miao Chou [Wed, 8 Jul 2015 21:50:32 +0000 (14:50 -0700)]
build: Eliminate cutils/str_parms dependency from system/bt

Eliminate cutils/str_parmss dependency from system/bt by adding osi_str_parms:
 - Added hash_map_utils which implements partial functions of cutils/str_parms
   and uses osi/hash_map instead of cutils/hashmap.
 - Updated osi/Android.mk, osi/BUILD.gn and the includes in audio_a2dp to use
   osi_str_parms.
 - Added unittest for hash_map_utils.

Bug: 21957864
Change-Id: I8458d9e45df6cab2b71840d24d17b9d75de9842c

9 years agoam 2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets
Anubhav Gupta [Tue, 28 Jul 2015 18:09:54 +0000 (18:09 +0000)]
am 2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets

* commit '2ac9ae06be5091f6f2eef0022a3810752f127d04':
  Fix a bug allocating buffers for fragmented AVRC packets

9 years agoFix a bug allocating buffers for fragmented AVRC packets
Anubhav Gupta [Fri, 24 Jul 2015 17:14:00 +0000 (10:14 -0700)]
Fix a bug allocating buffers for fragmented AVRC packets

Use the correct offset_len when allocating buffers for AVRC
packets that need to be fragmented.

Bug: 22156175

Change-Id: I7db12474c84edacb4f0739d50a43e8cebdcca676

9 years agoam 1500b8d9: Fix for uhid_event size check
Amirhossein Simjour [Mon, 27 Jul 2015 23:21:21 +0000 (23:21 +0000)]
am 1500b8d9: Fix for uhid_event size check

* commit '1500b8d9b301d8d68b2910692ec47d0e5b42c129':
  Fix for uhid_event size check

9 years agoFix for uhid_event size check
Amirhossein Simjour [Mon, 20 Jul 2015 18:29:19 +0000 (14:29 -0400)]
Fix for uhid_event size check

The uhid_event function used to expect that the return value of each
read function call to match with the size of the struct uhid_event.
Since the header file doesn't match the kernel driver, these two size
don't always match. The exact size check is replaced with expecting
the minimum required size.

Bug: 20108348
Change-Id: Ib61537092b109296f8290d802b68fc2efe78888c

9 years agoam 760aa99b: Unpair HID device cleanup
Casper Bonde [Mon, 27 Jul 2015 17:56:55 +0000 (17:56 +0000)]
am 760aa99b: Unpair HID device cleanup

* commit '760aa99b0f1fb7830dd5ff23ec8f5c5630b15989':
  Unpair HID device cleanup

9 years agoam c6137426: Fix the logic for stopping the Power Management timers.
Pavlin Radoslavov [Mon, 27 Jul 2015 17:56:54 +0000 (17:56 +0000)]
am c6137426: Fix the logic for stopping the Power Management timers.

* commit 'c6137426081fc55d8c94cd0e6b55cd0d0a52f12d':
  Fix the logic for stopping the Power Management timers.

9 years agoUnpair HID device cleanup
Casper Bonde [Fri, 3 Oct 2014 08:01:36 +0000 (10:01 +0200)]
Unpair HID device cleanup

When unparing HID devices, the attr_mask was not cleared.
By not clearing this data, some HID device will never be able
to connect again. (E.g. the Apple Magic Mouse)

Bug: 15566403
Change-Id: Ic80909dcecdf48d967c1a936b31554653761fa42
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
9 years agoFix the logic for stopping the Power Management timers.
Pavlin Radoslavov [Sat, 25 Jul 2015 06:41:55 +0000 (23:41 -0700)]
Fix the logic for stopping the Power Management timers.

Previously, the logic for stopping the timers didn't take
into account whether each timer was already running.

Bug: 22666419
Change-Id: Ia99bf8be917e9ea69f478a954085336fc899040a

9 years agoam fbbd2259: Only build bt_service_unittests for linux
Christopher Wiley [Mon, 27 Jul 2015 01:00:30 +0000 (01:00 +0000)]
am fbbd2259: Only build bt_service_unittests for linux

* commit 'fbbd225943c1e97074c61942d3fa29ae8c5fe202':
  Only build bt_service_unittests for linux

9 years agoOnly build bt_service_unittests for linux
Christopher Wiley [Mon, 27 Jul 2015 00:31:00 +0000 (17:31 -0700)]
Only build bt_service_unittests for linux

libchrome-host doesn't build on Mac, and while we get that sorted out,
let us not try and build this for Mac either.

Change-Id: I01d27391539d5c345d29a4ce949d0c3bcc931a7f

9 years agoam 081cba03: Add HCI user channel based bluedroid vendor adaptation
Samuel Ortiz [Sat, 25 Jul 2015 05:28:04 +0000 (05:28 +0000)]
am 081cba03: Add HCI user channel based bluedroid vendor adaptation

* commit '081cba0366ab5dfa11e68676ff5282a8e20e68f0':
  Add HCI user channel based bluedroid vendor adaptation

9 years agoAdd HCI user channel based bluedroid vendor adaptation
Samuel Ortiz [Fri, 24 Jul 2015 21:05:27 +0000 (14:05 -0700)]
Add HCI user channel based bluedroid vendor adaptation

This libbt vendor library creates and binds an HCI user channel
instead of talking to a serial port file descriptor. HCI frames
generated by the Android Bluetooth HAL are passed down as is to the
Linux kernel Bluetooth drivers through those sockets.
By pushing all the hardware dependencies down to the kernel, this
architecture supports all existing Linux Bluetooth drivers with
one single AOSP Bluetooth HAL implementation, Bluedroid.

Change-Id: I7197016b556e5d985843dd4f626db5d0f596f996

9 years agoam 065d0f70: service: Introduce a global Settings object
Arman Uguray [Fri, 24 Jul 2015 21:47:20 +0000 (21:47 +0000)]
am 065d0f70: service: Introduce a global Settings object

* commit '065d0f709343129f82ff3d072dcb36f612038598':
  service: Introduce a global Settings object

9 years agoservice: Introduce a global Settings object
Arman Uguray [Fri, 17 Jul 2015 01:12:13 +0000 (18:12 -0700)]
service: Introduce a global Settings object

Introduced a global Settings object that will store all runtime properties that
would be associated with a config file, Android system properties, etc. Added a
mechanism to parse command-line options which can be used to pass paths to
configuration files, file path for UNIX domain socket based IPC mechanism, and
any other property that is dynamic in nature. This will help us remove hardcoded
paths, strings, and other such values in the future.

Bug: 22532366
Change-Id: I8e790363ed31d44369f7991a8ea7132d1cace70b

9 years agoam f2d6434a: gn-build: Add bluetooth-service target
Arman Uguray [Fri, 24 Jul 2015 21:03:00 +0000 (21:03 +0000)]
am f2d6434a: gn-build: Add bluetooth-service target

* commit 'f2d6434a6b7ad98e20c7a601d2a0950237514837':
  gn-build: Add bluetooth-service target

9 years agoam 196413f5: Fix TX queue overflow detection
Andre Eisenbach [Fri, 24 Jul 2015 19:37:01 +0000 (19:37 +0000)]
am 196413f5: Fix TX queue overflow detection

* commit '196413f5ca088ef97866092f02bb7571d2a44390':
  Fix TX queue overflow detection

9 years agoFix TX queue overflow detection
Andre Eisenbach [Wed, 22 Jul 2015 20:47:28 +0000 (13:47 -0700)]
Fix TX queue overflow detection

- Prevent possible endless loop if |nb_frame| is too high
- Remove off-by-one calculation before sending frames
- Remove log spam and add better debug info

Bug: 22658329
Change-Id: I374ee980aec48763beb49b4f6f8b076124cadf40

9 years agoam 1076b7b0: Customize Bluetooth sniff interval
Pavlin Radoslavov [Thu, 23 Jul 2015 19:01:20 +0000 (19:01 +0000)]
am 1076b7b0: Customize Bluetooth sniff interval

* commit '1076b7b0a642d0f5c5948819bcd07e4bc0fb2738':
  Customize Bluetooth sniff interval

9 years agoCustomize Bluetooth sniff interval
Pavlin Radoslavov [Thu, 23 Jul 2015 05:49:26 +0000 (22:49 -0700)]
Customize Bluetooth sniff interval

Fix an earlier commit that prevents from customizing some of
the Bluetooth sniff parameters - those cannot be overwritten
anymore in the bdroid_buildcfg.h file.

Also, fixed the indexing in tables bta_dm_pm_cfg[]
and bta_dm_pm_spec[]

Bug: 22676670
Change-Id: I3a7074b9a9c91d312dc5d4314b7c304baf4ae20d

9 years agogn-build: Add bluetooth-service target
Arman Uguray [Wed, 8 Jul 2015 22:47:39 +0000 (15:47 -0700)]
gn-build: Add bluetooth-service target

This patch makes the Bluetooth system service (service/) buildable using GN:

1. Added new BUILD.gn file for service/
2. Added conditional compilation for global config paths, with TODOs for
generalizing them later.
3. Added a shim for loading the Bluetooth library that calls hw_get_module on
Android and explicitly calls dlopen on OS_GENERIC.
4. Fixed compile warnings and errors.
5. Did some minor clean up in gatt_server.cpp for better readability.

Bug: 22124644
Change-Id: I3226537a3a5211a6762651a35707638df29956b0

9 years agoam 197ee685: Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Wed, 22 Jul 2015 20:19:17 +0000 (20:19 +0000)]
am 197ee685: Fix a crash for a race condition during Bluetooth shutdown

* commit '197ee6856b43d8eea137a7f37798ee2a012ce518':
  Fix a crash for a race condition during Bluetooth shutdown

9 years agoam ac72840a: Update device type correctly in the NVRAM at inquiry result
Nitin Arora [Wed, 22 Jul 2015 20:18:04 +0000 (20:18 +0000)]
am ac72840a: Update device type correctly in the NVRAM at inquiry result

* commit 'ac72840a3d7409adbb3ee4904ab1ed5de2d66586':
  Update device type correctly in the NVRAM at inquiry result

9 years agoFix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Wed, 22 Jul 2015 01:09:19 +0000 (18:09 -0700)]
Fix a crash for a race condition during Bluetooth shutdown

This race condition is triggered when A2DP audio is streaming on shutdown:
"btif_a2dp_on_stopped() -> btif_media_task_aa_tx_flush_req()" is called
to stop the particular audio stream, and this happens right after
the "cleanup() -> btif_a2dp_stop_media_task()" processing during
the shutdown of the Bluetooth stack.

Bug: 22602117
Change-Id: I5de6a8f15b6a2771dde2e299a5b60554063696a2

9 years agoUpdate device type correctly in the NVRAM at inquiry result
Nitin Arora [Sat, 27 Jun 2015 01:09:37 +0000 (18:09 -0700)]
Update device type correctly in the NVRAM at inquiry result

This patch checks for the NVRAM data when inquiry result
is received from the remote device. In case the device is
marked as LE only or BR/EDR only, and inquiry result is
received from the alternate transport, the device type is
marked as Dual mode in the NVRAM

Bug: 22604450
Change-Id: Id925e8bad152a33c2bd3c371ca42a6f9c694e3b0

9 years agoam 1da48a36: Use pseudo address while re-pairing peripheral
Nitin Arora [Tue, 21 Jul 2015 21:15:40 +0000 (21:15 +0000)]
am 1da48a36: Use pseudo address while re-pairing peripheral

* commit '1da48a3600c980fe4ba825d287ff0ac5038be3ff':
  Use pseudo address while re-pairing peripheral

9 years agoam b4365c55: Adding transport type while initiating remote discovery
Nitin Arora [Tue, 21 Jul 2015 21:08:18 +0000 (21:08 +0000)]
am b4365c55: Adding transport type while initiating remote discovery

* commit 'b4365c55ccb2e985d00619c30dc14d5c156771b7':
  Adding transport type while initiating remote discovery

9 years agoUse pseudo address while re-pairing peripheral
Nitin Arora [Sat, 18 Jul 2015 01:38:01 +0000 (18:38 -0700)]
Use pseudo address while re-pairing peripheral

In case of pairing to an already paired device (in an instance
where the central remote has removed the keys), the change
makes sure that the correct address is used when LTK key
request occurs at the peripheral.

Bug: 22605510
Change-Id: I959003f39f70281ff1e6af8d4c4549138bc1682c

9 years agoam 280368c7: Fix potential crash when transcoding legacy config files
Andre Eisenbach [Tue, 21 Jul 2015 21:01:36 +0000 (21:01 +0000)]
am 280368c7: Fix potential crash when transcoding legacy config files

* commit '280368c7aa3b3e1dc5236a824f1f6c765967e253':
  Fix potential crash when transcoding legacy config files

9 years agoAdding transport type while initiating remote discovery
Nitin Arora [Fri, 26 Jun 2015 01:30:09 +0000 (18:30 -0700)]
Adding transport type while initiating remote discovery

This change ensures that the completion of SMP pairing for LE
devices specifically requests remote device discovery based on
transport type set to LE to prevent initiation of BR/EDR
connection due to incorrect transport type info

Bug: 22515456
Change-Id: Id1e5603d3cc53ca3dff427b93059a00f8d9150a7

9 years agoam ccd37fa0: Enable enhanced connection complete event
Nitin Arora [Tue, 21 Jul 2015 20:52:39 +0000 (20:52 +0000)]
am ccd37fa0: Enable enhanced connection complete event

* commit 'ccd37fa0fed142dae2491212ec72e20d74560b59':
  Enable enhanced connection complete event

9 years agoFix potential crash when transcoding legacy config files
Andre Eisenbach [Tue, 21 Jul 2015 20:02:57 +0000 (13:02 -0700)]
Fix potential crash when transcoding legacy config files

Bug: 22634292
Change-Id: I64745671f3b69fc7e6913213aeec55267e9bc49b

9 years agoEnable enhanced connection complete event
Nitin Arora [Thu, 2 Jul 2015 21:13:45 +0000 (14:13 -0700)]
Enable enhanced connection complete event

This change enables the enhanced connection complete event in order
to receive the local rpa address while connection is completed
with a paired peripheral. This is required if central tries to
repair or key upgrade an already paired device so that the confirm
or the DHKey Check values match during the pairing process

Bug: 22515703
Change-Id: If27f3b22bc568df6f081f8ad13dfc6783a83ae47

9 years agoresolved conflicts for merge of 65f9c04a to mnc-dev-plus-aosp
Pavlin Radoslavov [Tue, 21 Jul 2015 04:14:46 +0000 (21:14 -0700)]
resolved conflicts for merge of 65f9c04a to mnc-dev-plus-aosp

Change-Id: I4d7f657175347b2625f222b3cf6ab60fd37fb238

9 years agoam fb229d8b: Exclude Polar HR Monitor from secure conn
tturney [Tue, 21 Jul 2015 03:39:09 +0000 (03:39 +0000)]
am fb229d8b: Exclude Polar HR Monitor from secure conn

* commit 'fb229d8bb57070f708b0018578ca2cf94b33b2a1':
  Exclude Polar HR Monitor from secure conn

9 years agoFix the logic for removing bonded devices
Pavlin Radoslavov [Fri, 17 Jul 2015 00:40:28 +0000 (17:40 -0700)]
Fix the logic for removing bonded devices

* Removed btif_storage_is_device_bonded(), because it is not needed,
  and it was giving the wrong answer in use cases like Smart Setup
  with BR/EDR connections.

* Added a call to btif_storage_remove_ble_bonding_keys()
  within btif_storage_remove_bonded_device() so the bonded device
  state is properly removed.

* Don't save the BLE bonding keys if it is temporary bonding

Bug: 22233299
Change-Id: I33d9f76a124acc60173f0acaa517bc29ee6603e8

9 years agoExclude Polar HR Monitor from secure conn
tturney [Tue, 21 Jul 2015 02:28:40 +0000 (19:28 -0700)]
Exclude Polar HR Monitor from secure conn

Bug: 22473630
Change-Id: I1168444a6969532377e1bbcb2b1058d768099c20

9 years agoam 6670e315: Fix multi-advertising when LE Privacy is not available
Arman Uguray [Mon, 20 Jul 2015 21:17:25 +0000 (21:17 +0000)]
am 6670e315: Fix multi-advertising when LE Privacy is not available

* commit '6670e3157c8510bc4b944c6a16d92db56adbb76c':
  Fix multi-advertising when LE Privacy is not available

9 years agoFix multi-advertising when LE Privacy is not available
Arman Uguray [Sat, 18 Jul 2015 07:00:50 +0000 (00:00 -0700)]
Fix multi-advertising when LE Privacy is not available

This patch fixes a bug that caused all multi-advertising instances to be
initialized with Instance ID 0 (which is not allowed by the stack), if LE
privacy is not available. The problem was that the internal data structures that
represent advertising instances were not getting their |inst_id| field
initialized where it's supposed to.

Although far from clean, this code worked before. The culprit for the regression
is "f9fdf890 Random address does not get written properly", which moved the
initialization of instance IDs from the loop in BTM_BleEnableAdvInstance to
btm_ble_multi_adv_enb_privacy. The latter never gets called if privacy is not
available, which leads to partially initialized structures.

Obviously both of these places were wrong to begin with. I saw the word
"init" in a function called btm_ble_multi_adv_init. I figured this might have
something to do with initializing, so I moved the logic there.

Bug: 21267281

Change-Id: I38b9a2a71cd3f45feb267a13bf29f93564ee6075

9 years agoam f0e9c466: Add Moto Key Link to blacklist for LE secure connections
Nitin Arora [Fri, 17 Jul 2015 00:33:53 +0000 (00:33 +0000)]
am f0e9c466: Add Moto Key Link to blacklist for LE secure connections

* commit 'f0e9c46646bf49db05a1dcbecdc0bd64d086f623':
  Add Moto Key Link to blacklist for LE secure connections

9 years agoAdd Moto Key Link to blacklist for LE secure connections
Nitin Arora [Fri, 10 Jul 2015 18:24:47 +0000 (11:24 -0700)]
Add Moto Key Link to blacklist for LE secure connections

This change allows the host to mask the Cross key bit in
the key distribution fields of the pairing request and
response while pairing with the Moto key link. This is
needed since this specific remote device performs
calculations of the pairing confirm after masking the
cross key bit in the key distribtuin field which results
in a mismatch of the pairing confirm calcualted by the host
DUT and the remote.

Bug: 22539807
Change-Id: I7d758b05023cf346c97939883edda9d3adb08e1a

9 years agoam 50333a25: Properly disconnect GATT connection during noisy scans
Arman Uguray [Thu, 16 Jul 2015 18:28:14 +0000 (18:28 +0000)]
am 50333a25: Properly disconnect GATT connection during noisy scans

* commit '50333a25ba3dac54033738d1e2a2688e2977ff2e':
  Properly disconnect GATT connection during noisy scans

9 years agoProperly disconnect GATT connection during noisy scans
Arman Uguray [Wed, 15 Jul 2015 23:05:32 +0000 (16:05 -0700)]
Properly disconnect GATT connection during noisy scans

This patch fixes an issue that is reproducible in highly noisy environments
(massive deployment of BLE beacons), through repeated connect/disconnect
attempts on a remote peripheral while scanning for beacons in the background.
The state machine in bta/gatt has a special control flow for handling disconnect
requests during discovery, which in this case failed to resolve the original
request by issuing an HCI_Disconnect command. This is now fixed by always
explicitly triggering the connection close sequence once the discovery state has
been cleaned up.

This patch also includes a fix for a crash that occurred as a side-effect of the
scenario described above.

Bug: 22350508
Change-Id: Ie9cbd3c8f54239b142bfb8dde80d9581ae70ed43

9 years agoam 165332bc: Cleanup alarm_get_remaining_ms
Andre Eisenbach [Wed, 15 Jul 2015 22:01:54 +0000 (22:01 +0000)]
am 165332bc: Cleanup alarm_get_remaining_ms

* commit '165332bc6795049754fafe35024c2c605796c96a':
  Cleanup alarm_get_remaining_ms

9 years agoCleanup alarm_get_remaining_ms
Andre Eisenbach [Wed, 15 Jul 2015 19:35:15 +0000 (12:35 -0700)]
Cleanup alarm_get_remaining_ms

This function is used for PM sniff mode timers - at least until we can
re-factor those not to rely on this function.

Bug: 22040710
Change-Id: Ibe6f49440228732b2bd8242db4a44e481b00b62e

9 years agoam ac1399a7: Use correct own address type for batch scan
Nitin Arora [Wed, 15 Jul 2015 19:30:53 +0000 (19:30 +0000)]
am ac1399a7: Use correct own address type for batch scan

* commit 'ac1399a7aab6051f984235971573d62ddf76891d':
  Use correct own address type for batch scan

9 years agoUse correct own address type for batch scan
Nitin Arora [Fri, 19 Jun 2015 02:09:01 +0000 (19:09 -0700)]
Use correct own address type for batch scan

This patch ignores the input parameter and used the own
address type from address management block while setting
the batch scan parameters.

Bug: 22227689
Change-Id: I23fc80b68cfbd91d718c1094ef2483eaccda3ae1

9 years agoam 76356aee: Bug fix PM changes and LE connectivity mode fixes
VenkatRaghavan VijayaRaghavan [Wed, 15 Jul 2015 06:10:35 +0000 (06:10 +0000)]
am 76356aee: Bug fix PM changes and LE connectivity mode fixes

* commit '76356aee883af67898ddc1aa3b628195f396d42a':
  Bug fix PM changes and LE connectivity mode fixes

9 years agoBug fix PM changes and LE connectivity mode fixes
VenkatRaghavan VijayaRaghavan [Tue, 21 Apr 2015 18:32:29 +0000 (11:32 -0700)]
Bug fix PM changes and LE connectivity mode fixes

Allow PM to support multiple delay timer for different profiles and
power mode requests. And set correct connectivity mode.

Bug: 22040710
Change-Id: Idabd9ea944f0c5a89ce542d85db9f103fa7d1816

9 years agoam 21331c62: Store the link key derived from cross tranport link key
Srinu Jella [Wed, 15 Jul 2015 05:03:10 +0000 (05:03 +0000)]
am 21331c62: Store the link key derived from cross tranport link key

* commit '21331c62310dda2f523712c536da3e65afce0f38':
  Store the link key derived from cross tranport link key

9 years agoStore the link key derived from cross tranport link key
Srinu Jella [Tue, 16 Jun 2015 14:08:45 +0000 (19:38 +0530)]
Store the link key derived from cross tranport link key

Use case: PTS test case for cross transport link key
derivation

Steps to reproduce:
1. Start Test case GAP TP/LEP/DM/BV-15 in PTSv6.0

Failure: PTS test case TP/LEP/DM/BV-15 fails as the link
key is not stored when the key is derived from other
transport key. So it will again go for pairing even though
it has link key but not stored.

Root cause: Link key is stored only when bond type is
presistent, but it sets the bond type to persistent only
when it receives SSP request but not link key is derived.

Fix: So making the solution generic to store always when the
link key type is authenticated combination key with P-256.

Bug: 22486860
Change-Id: I3eb201262f72c86a9438351cad14a6698065fa90

9 years agoam fd4745ec: service: Some fixes from end-to-end/user testing.
Ian Coolidge [Tue, 14 Jul 2015 22:52:52 +0000 (22:52 +0000)]
am fd4745ec: service: Some fixes from end-to-end/user testing.

* commit 'fd4745ec554a95ea98230fcede779421ad89e363':
  service: Some fixes from end-to-end/user testing.

9 years agoam 115c6b1d: service: Remove local copies of base and modp_b64
Arman Uguray [Tue, 14 Jul 2015 22:28:04 +0000 (22:28 +0000)]
am 115c6b1d: service: Remove local copies of base and modp_b64

* commit '115c6b1dbd43e8c390483f537dfb0c477d449269':
  service: Remove local copies of base and modp_b64

9 years agoam 0ca99052: gn-build: Add BUILD files for libchrome
Arman Uguray [Tue, 14 Jul 2015 22:28:03 +0000 (22:28 +0000)]
am 0ca99052: gn-build: Add BUILD files for libchrome

* commit '0ca99052be04bfd85c9c1ae2601214bedf90b238':
  gn-build: Add BUILD files for libchrome

9 years agoam 9f0fa1b6: Add additional BDA ranges for Nexus Remote workaround
Andre Eisenbach [Tue, 14 Jul 2015 18:45:05 +0000 (18:45 +0000)]
am 9f0fa1b6: Add additional BDA ranges for Nexus Remote workaround

* commit '9f0fa1b60e20a1fa3f0845d72dac740e06b245d7':
  Add additional BDA ranges for Nexus Remote workaround

9 years agoAdd additional BDA ranges for Nexus Remote workaround
Andre Eisenbach [Tue, 14 Jul 2015 16:49:37 +0000 (09:49 -0700)]
Add additional BDA ranges for Nexus Remote workaround

As per feedback from manufacturer.

Bug: 21817410
Change-Id: I4b5b3d8d99f9299754221968a5e1ca5f21cb9478

9 years agoservice: Some fixes from end-to-end/user testing.
Ian Coolidge [Tue, 14 Jul 2015 01:22:46 +0000 (18:22 -0700)]
service: Some fixes from end-to-end/user testing.

* Send responses to ExecWrite requests.
* Provide valid data on write responses.
* Properly destruct Gatt::Server objects.
* Synchronize CoreStack 'enable' calls properly.

Change-Id: I4e9eed1979b10abccc7ae487e2c7d90d491e38d9

9 years agoservice: Remove local copies of base and modp_b64
Arman Uguray [Wed, 8 Jul 2015 22:33:05 +0000 (15:33 -0700)]
service: Remove local copies of base and modp_b64

Since libbase is now available on AOSP (under libchrome) Bluetooth code can
depend on it rather than maintain its own copy a subset of base sources (and
modp_b64 dependencies).

Dependent CL: http://r.android.com/158335

Bug: 22175181
Change-Id: I3a301e49353598633ad857ac4345d0361c273beb

9 years agogn-build: Add BUILD files for libchrome
Arman Uguray [Wed, 8 Jul 2015 00:00:09 +0000 (17:00 -0700)]
gn-build: Add BUILD files for libchrome

This CL adds GN build files for libchrome, which is the ChromeOS/Brillo library
for many C++ tools, include libbase. I added a new GN build target for "base"
under secondary sources with a GN build file for libchrome which currently lives
in platform/external/libchrome in AOSP.

To build, clone libchrome into third_party/libchrome and remove
third_party/libchrome/base/BUILD.gn. Also clone external/modp_b64 into
third_party/modp_b64. Eventually I will have scripts set up to do
this automatically.

This means that we can start developing against libbase while running GN builds
on Goobuntu but this would break the tree until libchrome is buildable within
the Android build system (http://r.android.com/158392). So Brillo/Android builds
will depend on libchrome using the conventional Android.mk means.

Bug: 22175181
Change-Id: I9a737aa785488e5bc0ca1adc087d1d5dfcdf3bea

9 years agoam e53454f7: Additional BDA range for Nexus Remote secure connections blacklist
Andre Eisenbach [Mon, 13 Jul 2015 17:30:29 +0000 (17:30 +0000)]
am e53454f7: Additional BDA range for Nexus Remote secure connections blacklist

* commit 'e53454f71c1c894fa3976cfe5f5a22d50b2ff28b':
  Additional BDA range for Nexus Remote secure connections blacklist

9 years agoresolved conflicts for merge of 27c4e634 to mnc-dev-plus-aosp
Andre Eisenbach [Mon, 13 Jul 2015 17:06:52 +0000 (10:06 -0700)]
resolved conflicts for merge of 27c4e634 to mnc-dev-plus-aosp

Change-Id: Id6d78e484d58042e93e4d4ea34522d15a6e1ba59

9 years agoAdditional BDA range for Nexus Remote secure connections blacklist
Andre Eisenbach [Mon, 13 Jul 2015 16:36:03 +0000 (09:36 -0700)]
Additional BDA range for Nexus Remote secure connections blacklist

Bug: 21817410
Change-Id: I5c5f6da9e8326e4c9424907337331b39fb67b444

9 years agoMove pairing auto-retry workaround to new interop db
Andre Eisenbach [Mon, 6 Jul 2015 22:43:15 +0000 (15:43 -0700)]
Move pairing auto-retry workaround to new interop db

Change-Id: I7177aaa0e2d0c3b0fa79ae655c0171f0703c54f3

9 years agoam 71334dcd: Do not reject valid connection parameter updates
Andre Eisenbach [Fri, 10 Jul 2015 17:35:03 +0000 (17:35 +0000)]
am 71334dcd: Do not reject valid connection parameter updates

* commit '71334dcd2c58564a195dade1f862f052ecd07b50':
  Do not reject valid connection parameter updates