OSDN Git Service

android-x86/system-bt.git
7 years agoFix HDP select thread id type
Andre Eisenbach [Fri, 17 Feb 2017 02:55:04 +0000 (02:55 +0000)]
Fix HDP select thread id type
am: f28952970e

Change-Id: I3171422ec9bfd8a0937ef500c9fc85b0af70b4e1

7 years agoFix HDP select thread id type
Andre Eisenbach [Fri, 17 Feb 2017 02:38:25 +0000 (18:38 -0800)]
Fix HDP select thread id type

Recent changes in libbionic cause pthread_join to SIGABRT if called with
an invalid thread id. The select_thread_id variable in the HDP
sub-system was truncated from long->int causing pthread_join to not find
the correct thread and triggering the error.

Using the correct type for select_thread_id fixes this problem.

Change-Id: Id332fa86cf7f30abd211588d32899d41e157b462
Fixes: 35432169
Test: manual; boot device, turn BT off; ensure it stays off

7 years agoMerge "Add a mutex to guard all btsnoop operations"
Pavlin Radoslavov [Thu, 16 Feb 2017 22:21:46 +0000 (22:21 +0000)]
Merge "Add a mutex to guard all btsnoop operations"
am: d8a0667363

Change-Id: I1ba7c525e9cd24fd5d5d588b0b950e1cc39a785f

7 years agoMerge "Add a mutex to guard all btsnoop operations"
Treehugger Robot [Thu, 16 Feb 2017 22:14:23 +0000 (22:14 +0000)]
Merge "Add a mutex to guard all btsnoop operations"

7 years agoMerge changes Idcbbc7eb,I3dc48800
Jakub Pawlowski [Thu, 16 Feb 2017 20:15:22 +0000 (20:15 +0000)]
Merge changes Idcbbc7eb,I3dc48800
am: 6f04f03f44

Change-Id: I690e029727e74f6c948ff29be79f2c90645d5a9c

7 years agoFix advertise data parsing
Jakub Pawlowski [Thu, 16 Feb 2017 20:15:05 +0000 (20:15 +0000)]
Fix advertise data parsing
am: 2e97666062

Change-Id: Ia196299b560036813eaf4b2268e5d1dd720943ce

7 years agoMerge changes Idcbbc7eb,I3dc48800
Jakub Pawlowski [Thu, 16 Feb 2017 20:09:52 +0000 (20:09 +0000)]
Merge changes Idcbbc7eb,I3dc48800

* changes:
  Use LE Extended Create Connection when possible
  Add LE Extended Create Connection HCI command

7 years agoAdd a mutex to guard all btsnoop operations
Pavlin Radoslavov [Thu, 16 Feb 2017 19:51:48 +0000 (11:51 -0800)]
Add a mutex to guard all btsnoop operations

After switching to HIDL, capture() can be called by multiple threads.
Capturing a packet and writing to the btsnoop/btsnooz logs
require multiple operations, hence we need a mutex to make those
operations atomic.
Previously, there were occasional btsnoop_hci.log files
with corrupted data as reported by Wireshark.

Test: Manual - captured multiple btsnoops_hci.log files.
Change-Id: Ib89d9156ad7e27a7dee652f71a0cf38c85d4447c

7 years agoUse LE Extended Create Connection when possible
Jakub Pawlowski [Thu, 16 Feb 2017 15:12:22 +0000 (07:12 -0800)]
Use LE Extended Create Connection when possible

Bug: 30622771
Test: manual
Change-Id: Idcbbc7eb6f9b32b2f258d6f8913ead6986510da8

7 years agoAdd LE Extended Create Connection HCI command
Jakub Pawlowski [Wed, 15 Feb 2017 16:35:30 +0000 (08:35 -0800)]
Add LE Extended Create Connection HCI command

Bug: 30622771
Test: manual
Change-Id: I3dc48800bd2dfb2f00c824c89888c9f4e8271497

7 years agoFix advertise data parsing
Jakub Pawlowski [Thu, 16 Feb 2017 17:23:48 +0000 (09:23 -0800)]
Fix advertise data parsing

This patch fixes overflow of position variable, and possible read
outside of vector boundaries when parsing advertise data.

Parsing 1004 bytes of hex "112233112233.." was causing infinite loop.

Bug: 30622771
Test: manual
Change-Id: I0d669f7958de73f5d53350fb293ff27fea172f44

7 years agoHID: Fix scroll issue with Apple Magic Mouse
Hemant Gupta [Thu, 16 Feb 2017 15:33:48 +0000 (15:33 +0000)]
HID: Fix scroll issue with Apple Magic Mouse
am: 3e2201163b

Change-Id: I368798f4084b3cd4126c76707a9dfc6e9b8ea3d1

7 years agoHID: Fix scroll issue with Apple Magic Mouse
Hemant Gupta [Tue, 25 Oct 2016 19:17:57 +0000 (12:17 -0700)]
HID: Fix scroll issue with Apple Magic Mouse

Usecase
1) Pair and connect with Apple Magic Mouse
2) Scroll over HID mouse and see if pointer moves up or down
   on DUT.

Observation:
Scroll functionality does not work on DUT and mouse pointer
stays still.

Root Cause:
From kernel 3.18 onwards, UHID flags are updated and following new
flags are added. Support for handling same is missing in user
space hid driver (bta_hh_co.cc)
UHID_GET_REPORT
UHID_GET_REPORT_REPLY
UHID_SET_REPORT
UHID_SET_REPORT_REPLY

Fix:
Add support for set report and get report in HID user
space because of changes in uhid kernel driver with kernel changes
for kernel 3.18. Apple Magic Mouse scroll functionality does not
work without this fix, as Apple Mouse requires set report from
HID host for it to start working properly wrt Scroll functionality.

Bug: 35306202
Change-Id: I90230b76d68e9275dcacd9f46f03e312ddf2fa30

7 years agoAdd a missing NULL pointer check inside bta_av_rcfg_str_ok()
Pavlin Radoslavov [Wed, 15 Feb 2017 03:56:57 +0000 (03:56 +0000)]
Add a missing NULL pointer check inside bta_av_rcfg_str_ok()
am: c9cff56fea

Change-Id: I9346b420fe29960640871ae380d0ddb51973523f

7 years agoMerge "Fix SIGBUS error in BT stack when pairing with ARM boards"
Pulkit Bhuwalka [Wed, 15 Feb 2017 01:46:18 +0000 (01:46 +0000)]
Merge "Fix SIGBUS error in BT stack when pairing with ARM boards"
am: 24dc553b55

Change-Id: I286d317aa89c363ba1f3baecd4c707211b9411f6

7 years agoAdd a missing NULL pointer check inside bta_av_rcfg_str_ok()
Pavlin Radoslavov [Wed, 15 Feb 2017 01:38:19 +0000 (17:38 -0800)]
Add a missing NULL pointer check inside bta_av_rcfg_str_ok()

Apparently, the p_data argument could be NULL if the reconfig
was triggered by the local device.

Test: Tested with Bluetooth headsets
Bug: 35351216
Change-Id: Ic51d849232944b5978772d222c41f66824e14dd4

7 years agoMerge "Fix SIGBUS error in BT stack when pairing with ARM boards"
Treehugger Robot [Wed, 15 Feb 2017 01:39:00 +0000 (01:39 +0000)]
Merge "Fix SIGBUS error in BT stack when pairing with ARM boards"

7 years agoUpdate the A2DP MTU if the L2CAP MTU changes during codec reconfiguration
Pavlin Radoslavov [Tue, 14 Feb 2017 23:34:08 +0000 (23:34 +0000)]
Update the A2DP MTU if the L2CAP MTU changes during codec reconfiguration
am: 31d373be95

Change-Id: I5c897b42abbcf6d14c5c9f74e8e186d3eaff259d

7 years agoFix SIGBUS error in BT stack when pairing with ARM boards
Pulkit Bhuwalka [Tue, 14 Feb 2017 01:44:47 +0000 (17:44 -0800)]
Fix SIGBUS error in BT stack when pairing with ARM boards

Bluetooth stack crashes with a SIGBUS memory unaligned error since the
toolchain optimizes memcpy to generate register instructions which are
unaligned in memory. Similar issue was seen earlier in
https://android-review.googlesource.com/#/c/181713/
which was solved by casting pointers to (void *). That fix misses edge
cases where the destination pointer needs to be casted as well.

Change-Id: I23cc16142deaf3dc1fff91588d736abdfcb3bfde
Fixes: 35154933
Test: Verified by building and pairing with RPI3/NXP Arm boards.

7 years agoUpdate the A2DP MTU if the L2CAP MTU changes during codec reconfiguration
Pavlin Radoslavov [Tue, 14 Feb 2017 20:18:44 +0000 (12:18 -0800)]
Update the A2DP MTU if the L2CAP MTU changes during codec reconfiguration

Previously, the MTU was saved inside the AVDTP module after the first
codec setup. However, the MTU wasn't updated after codec reconfiguration.
As a result, if a Sink device uses different (smaller) MTU for
a codec like SBC, then switching fron another codec to SBC will
result in generating SBC frames that are too large to transmit,
and there will be no audio.

Bug: b/35351216
Test: A2DP streaming and codec switch to various Sink devices.
Change-Id: Ieb3caf4ef7a30a7af31ceb2f6132807739829441

7 years agoMerge "Lower the BLE connection supervision timeout to 5s."
Qasim Javed [Tue, 14 Feb 2017 02:33:44 +0000 (02:33 +0000)]
Merge "Lower the BLE connection supervision timeout to 5s."
am: 72caf0257f

Change-Id: I565c7920cef98cfdaa59e0585734e71587dee579

7 years agoMerge "Lower the BLE connection supervision timeout to 5s."
Treehugger Robot [Tue, 14 Feb 2017 02:26:15 +0000 (02:26 +0000)]
Merge "Lower the BLE connection supervision timeout to 5s."

7 years agoMerge "Change LE advertisement data length type (uint8_t -> uint16_t)"
Jakub Pawlowski [Tue, 14 Feb 2017 01:38:29 +0000 (01:38 +0000)]
Merge "Change LE advertisement data length type (uint8_t -> uint16_t)"
am: f49eebd089

Change-Id: Iecf2d0e338ec4d30aebbe8c385925076ab630a3c

7 years agoMerge "Change LE advertisement data length type (uint8_t -> uint16_t)"
Jakub Pawlowski [Tue, 14 Feb 2017 01:34:29 +0000 (01:34 +0000)]
Merge "Change LE advertisement data length type (uint8_t -> uint16_t)"

7 years agoFix comment formatting at the beginning of lines
Myles Watson [Tue, 14 Feb 2017 01:14:44 +0000 (01:14 +0000)]
Fix comment formatting at the beginning of lines
am: 0ec947509d

Change-Id: I1700d82b29714a34b3170b5c6de66f81aaea547b

7 years agoFix comment formatting at the beginning of lines
Myles Watson [Thu, 9 Feb 2017 22:16:52 +0000 (14:16 -0800)]
Fix comment formatting at the beginning of lines

Test: builds
Change-Id: I691a40ad37b0cbe3ce56a09dc986df8857883b23

7 years agoLower the BLE connection supervision timeout to 5s.
Qasim Javed [Mon, 6 Feb 2017 20:16:09 +0000 (12:16 -0800)]
Lower the BLE connection supervision timeout to 5s.

The current default of 20 seconds is too high especially considering
that BLE tries to optimize (re)connection times. A connection
supervision timeout of 20 seconds essentially means that an initiator
of the connection could be in the connecting state for 20 seconds
before giving up on that connection attempt.

Checking other platforms such as iOS for default connection supervision
timeout reveals that they use sub-second (750ms) values.

Change-Id: I6ff7a20ceab0df8986191dd73676cadbe23a175e

7 years agoChange LE advertisement data length type (uint8_t -> uint16_t)
Jakub Pawlowski [Mon, 13 Feb 2017 22:31:52 +0000 (14:31 -0800)]
Change LE advertisement data length type (uint8_t -> uint16_t)

Chained advertisement data can be up to 1650 bytes.

Test: manual
Bug: 30622771
Change-Id: I67af5a8130ac2d3f0dbd8f5e3f28b72b152256c2

7 years agobtif: remove logspam at higher debug levels
Marie Janssen [Mon, 13 Feb 2017 22:04:31 +0000 (22:04 +0000)]
btif: remove logspam at higher debug levels
am: c338fe868c

Change-Id: Icd07fdcccf6267d9ff9e4a27a031f45d7a3d3f18

7 years agobtif: remove logspam at higher debug levels
Marie Janssen [Wed, 1 Feb 2017 20:50:00 +0000 (12:50 -0800)]
btif: remove logspam at higher debug levels

Some CHECK macros had logs that printed the function name, which
duplicated the logs in the functions outside the checks, producing too
many logs.

Remove some unused macros.

Changes:
02-01 09:34:11.757  1259  1755 D bt_btif : get_folder_items_list_rsp
02-01 09:34:11.757  1259  1755 D bt_btif : get_folder_items_list_rsp: item_cnt: 0 len: 0
to
02-01 09:34:11.757  1259  1755 D bt_btif : get_folder_items_list_rsp: item_cnt: 0 len: 0

and similar.

Test: run logcat, check that we have less duplicated logs
Change-Id: Id6e57f38b34d176ed8be0c3baedfbcf55e61a9a4

7 years agoAllow back-to-back AVDTP API_RECONFIG_EVT events
Pavlin Radoslavov [Mon, 13 Feb 2017 17:39:43 +0000 (17:39 +0000)]
Allow back-to-back AVDTP API_RECONFIG_EVT events
am: a72b0e2757

Change-Id: I17287bb26295cc43c04e00263e4d58e8656a8d7f

7 years agoAllow back-to-back AVDTP API_RECONFIG_EVT events
Pavlin Radoslavov [Sat, 11 Feb 2017 09:20:49 +0000 (01:20 -0800)]
Allow back-to-back AVDTP API_RECONFIG_EVT events

Based on AVDTP Spec 1.3, Section 9.8 StreamChangeParameters, the RECONFIG
procedure (AVDTP_RECONFIGURE_CMD) happens in OPEN state, and there is no
state transition that would prohibit calling the RECONFIG procedure
back-to-back.

Test: A2DP codec reconfiguration and audio play with several Sink devices
Bug: 35284763
Change-Id: Ie4ddca8545e2146fbd863e55713fd2d49994b4b0

7 years agoMerge "osi: Remove unused eager_reader code"
Myles Watson [Sat, 11 Feb 2017 04:13:30 +0000 (04:13 +0000)]
Merge "osi: Remove unused eager_reader code"
am: 8f79930f36

Change-Id: I976eabd7609710f5acbd882fbf1e57f06673066d

7 years agoMerge "osi: Remove unused eager_reader code"
Treehugger Robot [Sat, 11 Feb 2017 04:09:44 +0000 (04:09 +0000)]
Merge "osi: Remove unused eager_reader code"

7 years agoGet rid of btm_ble_send_extended_scan_params
Jakub Pawlowski [Sat, 11 Feb 2017 01:26:27 +0000 (01:26 +0000)]
Get rid of btm_ble_send_extended_scan_params
am: defbb91f06

Change-Id: I352ab720b1040699bd25ee748d148886a92dcb7d

7 years agoFix set extended scan params command
Jakub Pawlowski [Sat, 11 Feb 2017 01:26:15 +0000 (01:26 +0000)]
Fix set extended scan params command
am: 42300f2235

Change-Id: I871bca8c20130b3d736b682674ead62047a063bc

7 years agoGet rid of btm_ble_send_extended_scan_params
Jakub Pawlowski [Fri, 10 Feb 2017 23:24:00 +0000 (15:24 -0800)]
Get rid of btm_ble_send_extended_scan_params

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I94e62ca0d785b20f97e3397131b70eac06e15003

7 years agoFix set extended scan params command
Jakub Pawlowski [Fri, 10 Feb 2017 23:17:52 +0000 (15:17 -0800)]
Fix set extended scan params command

scanning_phys is a bitmap, not a count of PHYs. This error was resulting
in invalid HCI command being sent. This had no impact so far, because
only 1M PHY was used.

Bug: 30622771
Test: manual
Change-Id: I2be4f5ddbe0d453dc49cdee4605821b10853d7d8

7 years agoAdd Service Data GAP EIR data type
Bailey Forrest [Fri, 10 Feb 2017 18:13:17 +0000 (18:13 +0000)]
Add Service Data GAP EIR data type
am: 2a2583bdd3

Change-Id: Id9e77ecd8ae5c101379c16e201e9538ab89458c3

7 years agoAdd Service Data GAP EIR data type
Bailey Forrest [Fri, 10 Feb 2017 00:49:15 +0000 (16:49 -0800)]
Add Service Data GAP EIR data type

Test: Build
Change-Id: I378883fdeb09fadaac04ace2dc499abd27b7d3ab

7 years agoMerge "Minor fixes"
Bailey Forrest [Fri, 10 Feb 2017 13:51:39 +0000 (13:51 +0000)]
Merge "Minor fixes"
am: bb952824d1

Change-Id: I71a561da11481ceddcc53e7051ea568f821124d3

7 years agoMerge "Minor fixes"
Treehugger Robot [Fri, 10 Feb 2017 13:48:38 +0000 (13:48 +0000)]
Merge "Minor fixes"

7 years agoMerge "Advertising data handling improvements"
Jakub Pawlowski [Fri, 10 Feb 2017 05:49:13 +0000 (05:49 +0000)]
Merge "Advertising data handling improvements"
am: caac63a814

Change-Id: Ice53320def5bfd56de0329465c42e551828c0661

7 years agoMerge "Advertising data handling improvements"
Jakub Pawlowski [Fri, 10 Feb 2017 05:41:05 +0000 (05:41 +0000)]
Merge "Advertising data handling improvements"

7 years agoMerge "Enable DLOG on eng and userdebug builds"
Jakub Pawlowski [Fri, 10 Feb 2017 03:21:32 +0000 (03:21 +0000)]
Merge "Enable DLOG on eng and userdebug builds"
am: 0b8c812427

Change-Id: I67ecd676087b183f749d5ee7495ede92dd938423

7 years agoMerge "Enable DLOG on eng and userdebug builds"
Treehugger Robot [Fri, 10 Feb 2017 03:15:25 +0000 (03:15 +0000)]
Merge "Enable DLOG on eng and userdebug builds"

7 years agoMinor fixes
Bailey Forrest [Fri, 10 Feb 2017 01:26:28 +0000 (17:26 -0800)]
Minor fixes

- Include <mutex> for heart_rate_server
- Remove unnecessary assignment

Test: Build
Change-Id: Ic2368d08789b95e71c083460148c70b9d0ef0b20

7 years agoAdvertising data handling improvements
Jakub Pawlowski [Tue, 7 Feb 2017 20:15:06 +0000 (12:15 -0800)]
Advertising data handling improvements

* use non-hardcoded advertise data size
* use cache for keeping non-complete advertising data, waiting either
for scan scan response, or secondary channel data.

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I689edcb4aee30361df15340029559cd19dac552b

7 years agoMerge "Remove build variables that are no longer used"
Jack He [Fri, 10 Feb 2017 00:58:24 +0000 (00:58 +0000)]
Merge "Remove build variables that are no longer used"
am: f9ea60e015

Change-Id: Ic47a45bc196acc715e2152ed95510b9e1afb01c8

7 years agoMerge "Remove build variables that are no longer used"
Treehugger Robot [Fri, 10 Feb 2017 00:53:23 +0000 (00:53 +0000)]
Merge "Remove build variables that are no longer used"

7 years agoEnable DLOG on eng and userdebug builds
Jakub Pawlowski [Fri, 10 Feb 2017 00:46:45 +0000 (16:46 -0800)]
Enable DLOG on eng and userdebug builds

Test: manual
Change-Id: I1ff4ad6b2543246351d4d34919ba443e5617a9c0

7 years agoUse same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log
Jack He [Fri, 10 Feb 2017 00:19:42 +0000 (00:19 +0000)]
Use same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log
am: 071b507ad4

Change-Id: Ie19de8d98cdf01ac1b66d146742f19a769969f9f

7 years agoUse same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log
Jack He [Wed, 8 Feb 2017 01:25:15 +0000 (17:25 -0800)]
Use same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log

* Logcat uses gettimeofday for its timestamp, the same as on-disk BT
  Snoop log
* Although in-memory BT Snooz Log uses the same method to get time, it
  is calling it separately, resulting in mismatch between timestamps of
  two snoop logs
* This CL let them uses the same timestamp_us value and put the function
  definition to libosi
* Note that preserved on-disk BT Snoop logs timestamp postfix at
      btsnoop_hci_<timestamp>.log
  will be changed to microsecond since epoch at current device timezone
  instead of the shifted BT Snoop timestamp value
* New unit tests for gettimeofday

Bug: 35113514
Test: Make, unit tests, run BT activities and check both snoop logs
Change-Id: I5b3f87bc523b272ced2c69a4595d0e0cbe29bcb3

7 years agoMerge "Guard btsnooz ringbuffer access from multiple threads"
Pavlin Radoslavov [Thu, 9 Feb 2017 22:40:45 +0000 (22:40 +0000)]
Merge "Guard btsnooz ringbuffer access from multiple threads"
am: 82fc2a96ef

Change-Id: I75ad53c392554ea41694a9d314e1503009c076ce

7 years agoFix AAC bitrate computation and add missing parameters
Kenmochi, Chisato [Thu, 9 Feb 2017 22:40:28 +0000 (22:40 +0000)]
Fix AAC bitrate computation and add missing parameters
am: 3b8f12614f

Change-Id: I9ecff0dfe4d804678c6dc5c3bc2fc0f5d0a324ed

7 years agoMerge "Guard btsnooz ringbuffer access from multiple threads"
Pavlin Radoslavov [Thu, 9 Feb 2017 22:35:05 +0000 (22:35 +0000)]
Merge "Guard btsnooz ringbuffer access from multiple threads"

7 years agoRemove build variables that are no longer used
Jack He [Thu, 9 Feb 2017 22:29:59 +0000 (14:29 -0800)]
Remove build variables that are no longer used

* Removed BtHcilpIncluded from BOARD_BLUETOOTH_BDROID_HCILP_INCLUDE
* Removed BtHciUseMct from BLUETOOTH_HCI_USE_MCT

Bug: 3520365334951912
Test: Code compilation, no user visible effects
Change-Id: Ifbb0c2165a2b7cb6ec1d5c87a610219dd010206b

7 years agoFix AAC bitrate computation and add missing parameters
Kenmochi, Chisato [Thu, 9 Feb 2017 20:23:47 +0000 (12:23 -0800)]
Fix AAC bitrate computation and add missing parameters

* Compute the AAC codec bitrate based on the MTU and the AAC
  object type such that the AAC frames are not fragmented.
  The spec recommendation is to avoid fragmentation, and
  some sink devices cannot process fragmented frames.

* Setup/assign AACENC_PEAK_BITRATE as the peak bitrate to
  make sure we never go over the MTU frame size.

* Add missing AAC parameter setup for AACENC_AUDIOMUXVER
  and AACENC_SIGNALING_MODE

* Add a fix for selecting the bitrate if the sink device reports
  capability with zero bitrate - for such devices we negotiate
  our bitrate. For the actual AAC codec bitrate we still compute
  it based on the MTU and the AAC object type.

Test: Tested with numerous AAC sink devices
Bug: 34953385
Change-Id: I9ca6353b0e1ee107f1242803de4e82d568a3394b

7 years agoGuard btsnooz ringbuffer access from multiple threads
Andre Eisenbach [Thu, 9 Feb 2017 19:44:04 +0000 (11:44 -0800)]
Guard btsnooz ringbuffer access from multiple threads

Since moving to HIDL, the btsnooz packet ringbuffer can be accessed from
two separate threads. Thus it should be guarded from concurrent access
to avoid pointer corruption.

Bug: 35182804
Test: manual
Change-Id: I3e6e1a869887a7ad5d87d8bb09ed78a22b3383ae

7 years agoosi: Remove unused eager_reader code
Myles Watson [Wed, 8 Feb 2017 23:50:16 +0000 (15:50 -0800)]
osi: Remove unused eager_reader code

Test: Builds
Change-Id: Id5c7a8b9ca59ec90c3d2d0d4935f3f5ff287c433

7 years agoMerge "Use CHECK() to verify that HIDL is installed"
Myles Watson [Wed, 8 Feb 2017 14:03:16 +0000 (14:03 +0000)]
Merge "Use CHECK() to verify that HIDL is installed"
am: c9f353fa78

Change-Id: Ie4c283f10611062df08cfc7f6520b3a31e6363cc

7 years agoMerge "Use CHECK() to verify that HIDL is installed"
Treehugger Robot [Wed, 8 Feb 2017 14:00:07 +0000 (14:00 +0000)]
Merge "Use CHECK() to verify that HIDL is installed"

7 years agoMerge "Fix the implementation of htonll()"
Pavlin Radoslavov [Wed, 8 Feb 2017 10:53:34 +0000 (10:53 +0000)]
Merge "Fix the implementation of htonll()"
am: 9c0d0af2b0

Change-Id: I31333bc5c25744a5a438bfc36d6ba347cc761b5f

7 years agoMerge "Fix the implementation of htonll()"
Treehugger Robot [Wed, 8 Feb 2017 10:50:04 +0000 (10:50 +0000)]
Merge "Fix the implementation of htonll()"

7 years agoFix the implementation of htonll()
Pavlin Radoslavov [Tue, 7 Feb 2017 02:48:18 +0000 (18:48 -0800)]
Fix the implementation of htonll()

Prior the fix, all btsnoop entries had same timestamp.

Bug: 35111777
Test: Examine the btsnoop log file with Wireshark
Change-Id: I9e664475ff5b4ffc543d95b90a47c7f80fdc0370

7 years agoMerge "AVRCT CT: uint8_t is used for 2byte field"
Sanket Agarwal [Tue, 7 Feb 2017 21:54:18 +0000 (21:54 +0000)]
Merge "AVRCT CT: uint8_t is used for 2byte field"
am: a84ef64eb8

Change-Id: I0f7fee007ae4a5b3bd19fa2862e0c22aa7f46cae

7 years agoHF Client: SCO routing with multiple devices
Sanket Agarwal [Tue, 7 Feb 2017 21:54:07 +0000 (21:54 +0000)]
HF Client: SCO routing with multiple devices
am: ac109dc225

Change-Id: Id8893897e60105f11e7b7637a666aaa6cab957ad

7 years agoMerge "AVRCT CT: uint8_t is used for 2byte field"
Sanket Agarwal [Tue, 7 Feb 2017 21:49:00 +0000 (21:49 +0000)]
Merge "AVRCT CT: uint8_t is used for 2byte field"

7 years agoUse CHECK() to verify that HIDL is installed
Myles Watson [Tue, 7 Feb 2017 13:14:06 +0000 (05:14 -0800)]
Use CHECK() to verify that HIDL is installed

Test: build, boot test on angler
Change-Id: Ia64dcceedc233ef494ab0fdce7ee649e74fa45a0

7 years agoHF Client: SCO routing with multiple devices
Sanket Agarwal [Tue, 31 Jan 2017 21:43:58 +0000 (13:43 -0800)]
HF Client: SCO routing with multiple devices

For SCO it makes sense only to have one active connection at a time for
any device since simultaneous SCO calls in a single device is
un-reasonable. This change changes the SCO state machine in following
ways:
a) SCO is not setup automatically whenever AG wants, the client for this
BTA layer will have to call connect_audio to start SCO
b) Also when we disconnect SCO for a device, it does not go into a
listen state. We are making sure that the upper layer caller always has
to call connect to accept a connection

Bug: b/34518638
Test: Manual testing w/ multiple active calls and SCO switching

Change-Id: I6e6c4c6e6ee19e44e3ff14499fb99083102bde5a

7 years agoAVRCT CT: uint8_t is used for 2byte field
Sanket Agarwal [Tue, 7 Feb 2017 01:56:29 +0000 (17:56 -0800)]
AVRCT CT: uint8_t is used for 2byte field

This causes the upper stack to report incorrect entries if the value is
large

Bug: b/34682784
Test: Check with a list > 4 items large and packet size big enough to
exceed uint8_t size

Change-Id: I73233a74378d9c091e33f204780a9492505d99b4

7 years agoMerge changes from topic 'bt5_scan_props'
Jakub Pawlowski [Tue, 7 Feb 2017 01:33:28 +0000 (01:33 +0000)]
Merge changes from topic 'bt5_scan_props'
am: 1e73f14e77

Change-Id: I4639f2dc8b6576cbc8c823810e26ce3846fdc010

7 years agoPropagate BT5 specific scan result properties up the stack (2/3)
Jakub Pawlowski [Tue, 7 Feb 2017 01:32:40 +0000 (01:32 +0000)]
Propagate BT5 specific scan result properties up the stack (2/3)
am: 7de0f9b78f

Change-Id: I9a273c35111bfc60f40be0d11e24f48c75095abb

7 years agoUse new event type in BLE scan
Jakub Pawlowski [Tue, 7 Feb 2017 01:32:38 +0000 (01:32 +0000)]
Use new event type in BLE scan
am: d64bf4f6f8

Change-Id: Ia3380083b57bf98a6d9188541292b6a081e6ea6b

7 years agoMerge changes from topic 'bt5_scan_props'
Jakub Pawlowski [Tue, 7 Feb 2017 01:29:25 +0000 (01:29 +0000)]
Merge changes from topic 'bt5_scan_props'

* changes:
  Propagate BT5 specific scan result properties up the stack (2/3)
  Use new event type in BLE scan

7 years agoAdd a mechanism to configure the default A2DP codec priorities
Pavlin Radoslavov [Mon, 6 Feb 2017 23:12:30 +0000 (23:12 +0000)]
Add a mechanism to configure the default A2DP codec priorities
am: a6ba5aca4e

Change-Id: Ifd4cad913643a94b907611d7cf2d1f8b5e5fe2d5

7 years agoBLE Advertising Manager test improvements
Jakub Pawlowski [Mon, 6 Feb 2017 22:12:45 +0000 (22:12 +0000)]
BLE Advertising Manager test improvements
am: 3b2765696a

Change-Id: Ib35e49f00b807af79ba4f711dd1f6154705896c4

7 years agoPropagate BT5 specific scan result properties up the stack (2/3)
Jakub Pawlowski [Fri, 27 Jan 2017 16:06:20 +0000 (08:06 -0800)]
Propagate BT5 specific scan result properties up the stack (2/3)

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: Ib9d18ea3a1fc7d95300415a04b551d66767b04d2

7 years agoUse new event type in BLE scan
Jakub Pawlowski [Fri, 27 Jan 2017 13:53:07 +0000 (05:53 -0800)]
Use new event type in BLE scan

Right now new event_type in scan result is translated to legacy
one and used through whole stack. This patch make use of new event_type
through whole stack instead.

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I7420c040b8c54fae00262c939bcabc6c6fcb16e6

7 years agoAdd a mechanism to configure the default A2DP codec priorities
Pavlin Radoslavov [Wed, 1 Feb 2017 04:51:06 +0000 (20:51 -0800)]
Add a mechanism to configure the default A2DP codec priorities

Previously, the relative codec priorities were hard-codec internally.
The new mechanism uses the following configurable resources in
packages/apps/Bluetooth/res/values/config.xml to re-assign the
default codec priorities per device, or to explicitly disable a codec.

 - a2dp_source_codec_priority_sbc
 - a2dp_source_codec_priority_aac
 - a2dp_source_codec_priority_aptx
 - a2dp_source_codec_priority_aptx_hd
 - a2dp_source_codec_priority_ldac

Those values are assigned on startup.
Also, they can be changed per device by using an overlay:
device/<VENDOR>/<DEVICE>/overlay/packages/apps/Bluetooth/res/values/config.xml

Test: Manually streaming to a headset
Change-Id: I5312299aea4a11c92fbe999d521adb39346b9866

7 years agoBLE Advertising Manager test improvements
Jakub Pawlowski [Wed, 25 Jan 2017 11:06:49 +0000 (03:06 -0800)]
BLE Advertising Manager test improvements

This patch moves mock verification before call to callback. If for any
reason the callback is not properly initialized, this is usually due to
fact that the call didn't reach the mock. Right now in such cases we get
a crash and stack trace. After this patch we will first get information
about the mock not being called properly, then the crash, which would
make debugging such issues much easier.

Bug: 30622771
Test: manual test
Change-Id: Ia182f2eed384924395e8d6b6a2d3d0abd393a4ee

7 years agoTemporarily disable WBS; to be replaced with eSCO
Andre Eisenbach [Sat, 4 Feb 2017 01:08:02 +0000 (01:08 +0000)]
Temporarily disable WBS; to be replaced with eSCO
am: f6d79c5d6c

Change-Id: I39397f3f4788e17073c3994d587a6ae50aa4486a

7 years agoTemporarily disable WBS; to be replaced with eSCO
Andre Eisenbach [Fri, 3 Feb 2017 22:37:44 +0000 (14:37 -0800)]
Temporarily disable WBS; to be replaced with eSCO

HIDL'ized vendor library does not support custom audio parameter
configuration currently. To be replaced with eSCO commands.

Test: manual
Change-Id: I64850a7cbc6a05376f60f669fe43c3955cfcc08c

7 years agoFix a memory leak in the osi allocation tracker
Pavlin Radoslavov [Fri, 3 Feb 2017 05:40:55 +0000 (05:40 +0000)]
Fix a memory leak in the osi allocation tracker
am: 1aa40037fd

Change-Id: Ia2163e96693c890005c88ce79726710f378116c7

7 years agoFix a memory leak in the osi allocation tracker
Pavlin Radoslavov [Fri, 3 Feb 2017 03:47:16 +0000 (19:47 -0800)]
Fix a memory leak in the osi allocation tracker

Add a missing free(allocation) inside allocation_tracker_notify_free()
when freeing a memory buffer.

Prior to switching the allocation tracker to use C++ unordered_map,
the "allocation" bin was kept within (and reused) by the older hash_map
mechanism. However, after the switch to the C++ unordered_map this
is no longer the case, hence the memory leak.

Test: watch -n 1 "adb shell dumpsys meminfo -d BT-PID | grep Heap"
Bug: 34785845
Change-Id: I737c901a6452d29d18fd8b847e7d5ea10c5ff485

7 years agoMerge "Use local CCB variable in loop to check GAP CCB pool"
Venkata Ramana Rao [Fri, 3 Feb 2017 02:17:12 +0000 (02:17 +0000)]
Merge "Use local CCB variable in loop to check GAP CCB pool"
am: 064e8d1273

Change-Id: Ifac39dd2cb84ea065bed2e254aef40bd52f2ab81

7 years agoMerge "Use local CCB variable in loop to check GAP CCB pool"
Treehugger Robot [Fri, 3 Feb 2017 02:12:31 +0000 (02:12 +0000)]
Merge "Use local CCB variable in loop to check GAP CCB pool"

7 years agoInitializing the SDP event message pointer before sending
Manu Viswanadhan [Thu, 2 Feb 2017 23:57:01 +0000 (23:57 +0000)]
Initializing the SDP event message pointer before sending
am: 65cca8f2cc

Change-Id: Id9a32b5f07e3d8bbe175d99acf4127a2612a4de2

7 years agoUse local CCB variable in loop to check GAP CCB pool
Venkata Ramana Rao [Wed, 15 Jun 2016 09:57:12 +0000 (15:27 +0530)]
Use local CCB variable in loop to check GAP CCB pool

CCBs are not being properly cleared due to attempting to clear the wrong
CCB. This is fixed by using a local CCB variable in order to preserve the
CCB being freed.

Test: Send multiple files over OPP
Change-Id: I06a8f237047ffb212118b4239e9856fe5c89acb1

7 years agoInitializing the SDP event message pointer before sending
Manu Viswanadhan [Tue, 7 Jun 2016 10:51:18 +0000 (16:21 +0530)]
Initializing the SDP event message pointer before sending

Use case: Crash while copying SDP results in case of SDP
ServiceSearchAttributeRequest failure

Steps : Repeated connection-disconnection with multiple devices

Failure: Crash while copying SDP results

Root cause: In case of SDP_ServiceSearchAttributeRequest failure,
garbage value sent for discovery result structure due to improper
initialization

Fix: Initialize the discovery result structure to zero before
sending

Test: code compilation.

Change-Id: I46d92d6262bae3b5def5401270465a3a06468c1a

7 years agotest_vendor: Test fixes for AsyncManager
Myles Watson [Thu, 2 Feb 2017 18:20:36 +0000 (18:20 +0000)]
test_vendor: Test fixes for AsyncManager
am: e36d707b00

Change-Id: I33f04f7c75881beee1969d079e757565c5ed0420

7 years agoMerge changes Ie172ca37,Idf714e51
Andre Eisenbach [Thu, 2 Feb 2017 18:09:32 +0000 (18:09 +0000)]
Merge changes Ie172ca37,Idf714e51
am: 4bfa6b5205

Change-Id: I513824b35ee04268d8b3ec565432b8bb1cb3c736

7 years agoRemove LPM code from the stack
Myles Watson [Thu, 2 Feb 2017 18:09:31 +0000 (18:09 +0000)]
Remove LPM code from the stack
am: d56ef46502

Change-Id: I4a3d95d0ed13dff933694adffed018c19e030c5c

7 years agobtif: Remove platform-specific address logic
Myles Watson [Thu, 2 Feb 2017 18:09:25 +0000 (18:09 +0000)]
btif: Remove platform-specific address logic
am: 1c7a152a96

Change-Id: Ifd695e65d43f5e10d224f17dbabc0eafb3efdc03

7 years agoMerge "Initial HIDL conversion"
Andre Eisenbach [Thu, 2 Feb 2017 18:09:09 +0000 (18:09 +0000)]
Merge "Initial HIDL conversion"
am: 8a8ed27f87

Change-Id: Id6d8440432084b95a1bf0f430b3cb73379ae348d

7 years agotest_vendor: Test fixes for AsyncManager
Myles Watson [Thu, 26 Jan 2017 23:09:38 +0000 (15:09 -0800)]
test_vendor: Test fixes for AsyncManager

Test: unit tests pass
Change-Id: I5c3f9f4a1fa86e97fa9e6cc26160fd1e3e854925

7 years agoMerge changes Ie172ca37,Idf714e51
Andre Eisenbach [Thu, 2 Feb 2017 18:00:58 +0000 (18:00 +0000)]
Merge changes Ie172ca37,Idf714e51

* changes:
  Remove LPM code from the stack
  btif: Remove platform-specific address logic

7 years agoMerge "Initial HIDL conversion"
Andre Eisenbach [Thu, 2 Feb 2017 18:00:29 +0000 (18:00 +0000)]
Merge "Initial HIDL conversion"

7 years agoHandled invalid MTU Size in L2cap Process Commands
Ajay Kumar [Thu, 2 Feb 2017 01:57:05 +0000 (01:57 +0000)]
Handled invalid MTU Size in L2cap Process Commands
am: 633a5bc320

Change-Id: I8d6b1d76cb8ff644fbb9cbfff987e3f80bb04522

7 years agoRemove LPM code from the stack
Myles Watson [Mon, 12 Sep 2016 21:39:58 +0000 (14:39 -0700)]
Remove LPM code from the stack

Power management is handled in hardware/interfaces/bluetooth/.

Test: mma -j32
Change-Id: Ie172ca37059768a2cfa0d4b84f34b54624b1fa49