Skip to content
Snippets Groups Projects
  1. Jan 23, 2017
    • Jakub Pawlowski's avatar
      Add advertising handle zero quirk · f33ade65
      Jakub Pawlowski authored
      Some controllers are strict about VSC handle mapping, and don't allow
      using zero value.
      
      Test: manual test
      Change-Id: Ia2df17af16e0e4da375d6e7d5b5f882ced508ce9
      f33ade65
    • IHLHO KIM's avatar
      Fix the GATT server and HOGP disconnect · 63ec7bf6
      IHLHO KIM authored
      GATT server disconnect and HOGP disconnect are not working after the
      following commit: bd9e1ef1.
      
      ‘BTA_GATTS_CancelOpen’ makes ‘gatt_update_app_hold_link_status’
      return FALSE value. As a result, ‘BTA_GATTS_Close’ cannot disconnect
      the link. The sequence has to be changed like GATT client.
      
      And the above mentioned fix removed ‘found’ checking routine in
      ‘gatt_update_app_hold_link_status’.
      
      It makes two app hold links with same gatt_if when HOGP is connected and
      background connection is added. But HOGP disconnect removes only one held
      link. So HOGP is never disconnected.
      
      The ‘found’ checking routine has to be rolled back.
      
      Test: manual
      Change-Id: Ibea825b5cc844195f0cf4a30cbcca831880c9088
      63ec7bf6
  2. Jan 21, 2017
    • Jakub Pawlowski's avatar
      Fix advertising timeout behaviour. · db12bf15
      Jakub Pawlowski authored
      When advertising is enabled with timeout, enable callback was not
      called. Also we were not scheduling the disable operation after the
      timeout passes. This patch fixes that. It also make sure that the
      timeout callback is called on proper thread.
      
      Bug: 34440704
      Test: sl4a ConcurrentBleAdvertising:test_timeout
      Change-Id: I233c2692c690f55ef6243325640e48b37818c9d5
      db12bf15
  3. Jan 20, 2017
    • Treehugger Robot's avatar
    • Treehugger Robot's avatar
      Merge "Synchronize hl data operations" · 67302a08
      Treehugger Robot authored
      67302a08
    • Nagarjuna Kristam's avatar
      Update error check for LE read remote feature event · c1c2c3fd
      Nagarjuna Kristam authored
      When a BLE remote read remote feature complete event is received
      initial commands flow is proceeding if error code is not connection
      failed to establish (0x3E). Instead, the flow should fail on any
      error.
      
      Test: Re-connection stress tests with LE device
      Change-Id: I4ab80b6601f5f852fcf8da2911807438584fd3f4
      c1c2c3fd
    • Kamal Negi's avatar
      Set alarm's queue to NULL on alarm expired · 18e86afd
      Kamal Negi authored
      Use Case: Repeated BT ON/OFF
      
      Failure: ANR due to race condition between random advertisement
      address generation completion(adv_raddr_timer) and BT shutdown.
      
      Steps: SNS Stress testing.
      
      Root Cause: Race condition happens between random advertisement
      address generation completion(adv_raddr_timer) and BT shutdown.
      
      Fix:  For non-periodic alarms, set alarm's queue to NULL once alarm
      expired.
      
      Test: mm -j8
      
      Change-Id: Idf8e2bebdc2ca7621aef06dd5f2075ef2c5fa08c
      18e86afd
    • Srinu Jella's avatar
      Synchronize hl data operations · 4b18c526
      Srinu Jella authored
      Use Case: BT crash seen while transferring data
      using HDP APP to remote health device.
      
      Steps:
      1. Pair with HDP device
      2. Run HDP APP and transfer data to Remote HDP device.
      
      Failure: BT automatically resets and recovers.
      
      Root Cause: Synchronize BITF HL free buffer as simultaneously
      free buffer from BTIF and BTU thread lead to sigabort.
      
      Fix: Validate Tx packet before memcpy as it can be free
      from different thread.
      
      Test: mm -j8
      Change-Id: I566f62ce02c8e95c9f4b8d7155132e4434657f66
      4b18c526
    • Satish Kodishala's avatar
      Bluetooth: Handle get RSSI timeout gracefully · 72728794
      Satish Kodishala authored
      Usecase:
      1. Turn ON BT
      2. Pair and connect with Headset
      3. Play Music over A2DP
      4. Make GetRssi timeout
      5. Bt app crashes
      
      Failure:
      BT app crashes.
      
      Rootcause:
      Calling callback with NULL and in callback handling NULL check with assert.
      
      Fix:
      Call the callback with error instead of NULL.
      
      Change-Id: I20a9e504a513697945cd76d218ec12a0ef1e3330
      72728794
    • Sanket Agarwal's avatar
      BTA HF CLIENT: Unset initial SCO value · 35b01a9a
      Sanket Agarwal authored
      Initialize the block with invalid SCO state so that while allocating the
      if condition does not ignore the block. This was causing the stack to
      not initiate a SCO connection to the remote (AG role)
      
      Bug: b/33555377
      Test: Check for SCO initialied on audio call
      Change-Id: I3f5619c69288483bfa45c2a1adcf22008e353841
      35b01a9a
    • Jack He's avatar
      Fix A2DP Metrics Logging Capacity · 9bebcc06
      Jack He authored
      * Set the maximum number of wake events logged to 1000
      * Stop logging wake log name as it takes too much memory
      * Add counters for each of the repeated values in BluetoothLog so that
        the true number of events can be determined while oldest event get
        dropped
      * Log Bluetooth session disconnect reasons using enum instead of string
        in order to save memory usage
      * Apply other branch changes to bluetooth.proto on system/bt
      
      Bug: 33694310
      Test: Code compilation and unit tests
      Change-Id: I2cc6f9304725938b63b211d615eb1941eac60edf
      (cherry picked from commit 7ab4b59672013eddcb706e288962ab7309a75628)
      9bebcc06
  4. Jan 19, 2017
  5. Jan 18, 2017
    • Jack He's avatar
      Convert build system to soong using Android.bp · 65b2a57b
      Jack He authored
      * Convert top level Android.mk into build templates in build/Android.bp
        and build/fluoride.go
      * Initial conversion is done by "androidmk Android.mk > Android.bp"
      * Android.bp does not allow source inclusion from external directories
        and therefore they have to be made in to cc_library_static in their
        respective sub-directories and linked using whole_static_libs in the
        modules where they are used
      * As Android.bp does not allow multiple modules of the same name,
        same-name mudules for different target are merged into one definition
        with target specific setup
      * Generated proto header path has to be changed in osi/src/metrics.cc as
        Android.bp only generate header path relative to the Android.bp file
        instead of top-level directory such as system/bt
      * Android.bp does not support resource copying yet and hence conf files
        are left un-touched.
      * Android.bp does support conditional module declaration and therefore
        test-vendor libs are left untouched except for unit tests
      * The goal of this CL is to direct (almost) translate Android.mk to
        Android.bp first with Android.bp specific optimizations coming later
      
      Bug: 32958753
      Test: Code compilation, manual testing by test team
      
      Change-Id: I5249e1f2135c4121205619b1d735ce448feb7499
      65b2a57b
    • Treehugger Robot's avatar
    • Sanket Agarwal's avatar
      HF CLIENT BTA: Reduce logging for non-allocated blocks · 2134bb66
      Sanket Agarwal authored
      Bug: b/33552136
      Test: adb shell dumpsys bluetooth_manager
      Change-Id: I3cb6c28bffe6b335cf82cac63dc78ce4957d78f4
      2134bb66
    • Hemant Gupta's avatar
      HID: Prevent crash by Cancelling SDP during cleanup · 10008bcd
      Hemant Gupta authored
      Usecase:
      1) User tried to connect to HID Device.
      2) SDP is internally performed by DUT. SDP is at stage,
         where L2CAP connection, configuration is done, and data
         fetch is ongoing.
      3) BT was turned off from UI.
      Observation:
      BT crashed while accessing memory that was freed already because BT turn off,
      caused ACL disconnection, leading to L2CAP disconnect indication in stack,
      leading to sdp disconnect indication.
      backtrace:
          #00 pc 000f98d4  /system/lib/hw/bluetooth.default.so (SDP_FindServiceUUIDInDb+51)
          #1 pc 000b5dbd  /system/lib/hw/bluetooth.default.so (hidh_search_callback+0x40)
          #02 pc 000f770b  /system/lib/hw/bluetooth.default.so (sdp_disconnect_ind+0x5e)
          #03 pc 00107a5f  /system/lib/hw/bluetooth.default.so (l2c_csm_execute+3446)
          #04 pc 001080e7  /system/lib/hw/bluetooth.default.so (l2c_link_hci_disc_comp+122)
          #05 pc 000fda81  /system/lib/hw/bluetooth.default.so (btu_hcif_process_event+588)
          #06 pc 000fec81  /system/lib/hw/bluetooth.default.so (btu_hci_msg_ready+96)
          #07 pc 00118191  /system/lib/hw/bluetooth.default.so
          #08 pc 0011917f  /system/lib/hw/bluetooth.default.so
          #09 pc 00041993  /system/lib/libc.so (_ZL15__pthread_startPv+30)
          #10 pc 000192b5  /system/lib/libc.so (__start_thread+6)
      Register Dump
      pid: 15740, tid: 15761, name: bluedroid wake/  >>> com.android.bluetooth <<<
      signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x20000
          r0 815a5cac  r1 a1a2f370  r2 00000000  r3 85d4e541
          r4 00020000  r5 815a5cac  r6 a1a2f370  r7 b6d3ae40
          r8 00000000  r9 b6d3ae40  sl 00000002  fp 00000013
          ip a228c050  sp a1a2f360  lr a20eddc1  pc a21318d4  cpsr 200e0030
      Rootcause
      The above scenario could lead to crash we see as below, as bta_hh_cb.p_disc_db would be freed
      during HID Host cleanup, and would be accessed via callback received for parsing SDP results on
      SDP completion.
      Fix:
      While cleaning up HID Host, Cancel SDP search before freeing and resetting bta_hh_cb.p_disc_db.
      This will internally send L2CAP disconnect request for SDP, and would lead to sdp_disconnect_cfm
      call when L2CAP is disconnected, and would lead to call of hidh_search_callback with result code
      as SDP_CANCEL.
      
      Change-Id: I63563cb23dd69946f87a70cafa203c44edc9b753
      10008bcd
  6. Jan 17, 2017
  7. Jan 11, 2017
    • Pavlin Radoslavov's avatar
      Removed the feeding_init call from tA2DP_ENCODER_INTERFACE · 3e6ec10a
      Pavlin Radoslavov authored
      The feeding_init call is not used anymore - it has been superseded
      by the newer A2dpCodecs.setCodecAudioConfig() mechanism.
      
      Also, moved aptx_init_framing_params() and aptx_hd_init_framing_params()
      calls to the corresponding encoder_update functions.
      
      Test: A2DP streaming to Bluetooth headsets
      Change-Id: I52f42b4701d04fe2ddb8f115bb9cd57fe38e2b38
      3e6ec10a
  8. Jan 10, 2017
  9. Jan 09, 2017
    • Jakub Pawlowski's avatar
      Batch scan simplification · 5f37b73b
      Jakub Pawlowski authored
      Bug: 30622771
      Test: sl4a UniqueFilteringTest BleOpportunisticScanTest
      Change-Id: I0e6ca8ed3d7d98057277a5187e684246f410d978
      5f37b73b
    • Jakub Pawlowski's avatar
      LE filters without custom data types · 1874cc73
      Jakub Pawlowski authored
      Bug: 30622771
      Test: sl4a FilteringTest
      Change-Id: Ib4edfa40038ca59c37ae1dfc763f0cac563177d7
      1874cc73
    • Jakub Pawlowski's avatar
      Get rid of BTA_DmBleCfgFilterCondition · 1fef0e3d
      Jakub Pawlowski authored
      Bug: 30622771
      Test: sl4a FilteringTest
      Change-Id: I93b4f1275b9437a20cf1429d184dbefa79451986
      1fef0e3d
    • Jakub Pawlowski's avatar
      Simplify LE scan filter memory management · cc84da57
      Jakub Pawlowski authored
      Bug: 30622771
      Test: sl4a FilteringTest
      Change-Id: I58f3c335e84b4d7ee578c321109125084826efa0
      cc84da57
    • Jakub Pawlowski's avatar
      Remove reduntant re-schedule · 4b5faa47
      Jakub Pawlowski authored
      Calls to BleScannerInterface are already made using jni thread.
      Also all this calls do is scheduling to BTA thread, so remove
      unnecessary call to do_in_jni_thread
      
      Bug: 30622771
      Test: sl4a FilteringTest
      Change-Id: I2c799dde720f9bc694fecacd6d3959b96c1b9ba8
      4b5faa47
    • Jakub Pawlowski's avatar
      Use callbacks for LE filter functions (BTM layer) · 9180985c
      Jakub Pawlowski authored
      This patch use callbacks, instead of custom event queue when scheduling
      LE filter VSC.
      
      Bug: 30622771
      Test: sl4a FilteringTest
      Change-Id: I64ac4392883c647d1e500c257c31a8d3e740a0a8
      9180985c
    • Jakub Pawlowski's avatar
      Fix bad connectable advertising constant · 6a48101e
      Jakub Pawlowski authored
      Test: start connectable advertising using bluetoothtbd
      Change-Id: Ie7e42570748d43a27bc7691378aee85ab1565a05
      6a48101e
    • Jakub Pawlowski's avatar
      Zero is a valid advertiser id · 0648c83d
      Jakub Pawlowski authored
      Test: start advertising using bluetooth-cli
      Change-Id: Iead31c5e73a70850c6a209b6bbbeaeb792202608
      0648c83d
    • Jack He's avatar
      Remove redundant dependency on libpower · 616cc7bf
      Jack He authored
      * libpower dependency was introduced in change
        I1e8d49b087eff6301373e1e90e8d868f15847c34
      * It is never used in any part of the system/bt stack and therefore
        should be removed from the shared library dependency list
      
      Bug: 34079981
      Test: code compilation, no user visible effect
      Change-Id: Ic8e3ad0c369839fb9ced446695c72fdf0ffad1ca
      616cc7bf
    • Ivan Podogov's avatar
      Add "connecting" and "disconnecting" states to HID Device. · 917d2467
      Ivan Podogov authored
      Currently the upper java layers have full support for all four
      connection states, yet the lower stack only reports about
      "connected" and "disconnected".
      This patch adds sending "connecting" and "disconnecting" messages
      when bta_hd_connect_act and bta_hd_disconnect_act finish
      successfully.
      
      Test: build, run, logcat
      Change-Id: I00f9f414daa3854198ff9eee19e9c98a2e18f603
      917d2467
Loading