1. 01 Sep, 2016 1 commit
    • Jakub Pawlowski's avatar
      Fix HID crashing on reconnect · 0afaaa41
      Jakub Pawlowski authored
      This patch fixes crashes on reconnection to HID device.
      All those issues are already fixed in AOSP.
      
      Bug: 31221398
      Change-Id: I43b64d0b11b1f548cb373332777ea92d8a075466
      0afaaa41
  2. 29 Aug, 2016 8 commits
  3. 23 Aug, 2016 4 commits
    • Jakub Pawlowski's avatar
      Make gatt_attr use opportunistic connection · de0eabbc
      Jakub Pawlowski authored
      am: 970d9d18
      
      Change-Id: Iaff1375e619409afe9570b6fb79867070a339902
      de0eabbc
    • Jakub Pawlowski's avatar
      GATT: don't update link status for apps that were never connected · a7dd7079
      Jakub Pawlowski authored
      am: aab757d3
      
      Change-Id: Id9397aa59aae3570821c9838d428541cfb6a878a
      a7dd7079
    • Jakub Pawlowski's avatar
      Make gatt_attr use opportunistic connection · 970d9d18
      Jakub Pawlowski authored
      This patch creates new connection mode - opportunistic connection. When
      such connection is made, no call to gatt_update_app_hold_link_status
      will be made when it's started.
      
      This means that connecting and disconnecting in this mode won't trigger
      disconnect timer. When other, app creates regular connection and then
      disconnects, the physical connection might get disconnected.
      
      Opportunistic connection is used only for code setting CCC right now.
      
      Bug: 30186455
      Change-Id: Ia5be7682b6c3dcb4993060f818dee603aef3e19e
      970d9d18
    • Jakub Pawlowski's avatar
      GATT: don't update link status for apps that were never connected · aab757d3
      Jakub Pawlowski authored
      Right now, in GATT_Deregister we make a call to
      gatt_update_app_use_link_flag, which might result in a call to
      GATT_SetIddleTimeout on links that this client was never connected to.
      
      In order to fix that, we must check if gatt_update_app_hold_link_status
      made any changes to p_tcb->app_hold_link. If not, then skip updating
      the timer.
      
      Bug: 30186455
      Change-Id: I6f18ec7fe4e80e048adc9e360cae703b7d64d62a
      aab757d3
  4. 19 Aug, 2016 1 commit
  5. 18 Aug, 2016 2 commits
    • Jakub Pawlowski's avatar
      GATT: don't update link status for apps that were never connected · d921c78f
      Jakub Pawlowski authored
      Right now, in GATT_Deregister we make a call to
      gatt_update_app_use_link_flag, which might result in a call to
      GATT_SetIddleTimeout on links that this client was never connected to.
      
      In order to fix that, we must check if gatt_update_app_hold_link_status
      made any changes to p_tcb->app_hold_link. If not, then skip updating
      the timer.
      
      Change-Id: I6f18ec7fe4e80e048adc9e360cae703b7d64d62a
      d921c78f
    • Jakub Pawlowski's avatar
      Make gatt_attr use opportunistic connection · 8ed030ff
      Jakub Pawlowski authored
      This patch creates new connection mode - opportunistic connection. When
      such connection is made, no call to gatt_update_app_hold_link_status
      will be made when it's started.
      
      This means that connecting and disconnecting in this mode won't trigger
      disconnect timer. When other, app creates regular connection and then
      disconnects, the physical connection might get disconnected.
      
      Opportunistic connection is used only for code setting CCC right now.
      
      Bug: 30186455
      Change-Id: Ia5be7682b6c3dcb4993060f818dee603aef3e19e
      8ed030ff
  6. 09 Aug, 2016 1 commit
  7. 05 Aug, 2016 1 commit
  8. 28 Jul, 2016 2 commits
  9. 27 Jul, 2016 1 commit
    • Ayan Ghosh's avatar
      Proper handling of AV connection collision · b82a27ed
      Ayan Ghosh authored
      Use case:
      1. Pair to Remote
      2. Turn OFF/ON BT on DUT
      3. After DUT's BT is turned ON, Remote would reconnect to DUT
      
      Failure:
        Bluetooth settings UI continues to display Connecting when
        BT was Turned OFF and ON.
      
      Root cause:
      - This is a connection collision case where remote is not responding
        to DUT initiated SDP attribute fetch request for AV. AV holds outgoing
        connection for sometime and meanwhile remote starts AV connection
        from its end. Then DUT disconnects the SDP channel after a second
        without waiting to fetch requested info, and this confuses DUT's AV
        state machine. The outgoing connection could not proceed as incoming
        AV L2CAP connects, because DUT's AV state machine is not equipped
        with handling this scenario. On incoming connection timer expiry, it
        does not start AV media channel as it finds AV Open has not been done
        from upper layer after incoming L2CAP got connected.
      
      - When the incoming path 2s timer expires, the DUT checks whether Open
        has been called after incoming state is set. This is not the case here,
        because Open was triggered earlier as as part of the outgoing
        connection. As a result, A2DP cannot connect at all.
      
      Fix:
      - Properly set collision flags for handling AV connection collision.
      - Update BTA AV handle even when BTIF AV state machine is yet to be built.
      
      Bug: 30362987
      Change-Id: I02a3adb62479b0f762bc792a5727d06e11eaaa52
      (cherry picked from commit db1e3a5fbb41cd1faf572c5f89ec9212c5ff2986)
      b82a27ed
  10. 25 Jul, 2016 1 commit
  11. 24 Jul, 2016 1 commit
    • Andre Eisenbach's avatar
      Remove position dependent lookup tables in AT command parser · 1e7afc82
      Andre Eisenbach authored
      The various position dependent lookup tables in the AT command parser
      were out of sync, causing invalid responses to the AT+CBPS command for
      example.
      
      This patch gets rid of positionally dependent enums for simple lookup
      tables that correlate all the values for easier, less error prone
      maintenance of the related tables.
      
      Change-Id: I84f7d4f4a803e6e52bf2021c6c74917e90bbc846
      Fixes: 29978908
      1e7afc82
  12. 19 Jul, 2016 1 commit
    • ugo_yu's avatar
      GATT: Deregister notification when a GATT connection is closed · 7592bcfe
      ugo_yu authored
      Precondition:
      1. Pair with specific HOGP mouse.
      
      Steps:
      1. Pair with HOGP mouse (iBuffalo BSMBB09DS)
      2. Unpair the mouse.
      3. Pair the mouse again.
      
      Failure:
      Pairing is successful, but the mouse won't connect.
      
      Root Cause:
      Some HOGP mice send notifications before the stack writes the
      client characteristic configuration descriptor.
      The Bluetooth stack doesn't deregister these notifiactions
      when disconnecting.
      
      Fix:
      Deregister notifications when the GATT connection closes.
      
      Fixes: 29111689
      Change-Id: I520faeaa5fc396381cb248d3a2c49efbffa12261
      7592bcfe
  13. 16 Jul, 2016 1 commit
  14. 15 Jul, 2016 1 commit
    • Subramanian Srinivasan's avatar
      Process Gatt read multiple response properly · 94b4a1ad
      Subramanian Srinivasan authored
      The Gatt server multi response queue is made NULL after each Gatt
      server response is sent by BT stack in response to the remote Gatt
      client's request. But the multi response queue is not initialized
      again to process subsequent read multiple Gatt server responses.
      Hence, the BT stack does not send Gatt server responses for the
      subsequent read multiple requests from remote device which inturn
      leads to disconnection. This change would process read multiple
      responses by initializing the queue when it is null.
      
      Some of Bluetooth certification test cases involve testing
      Gatt server's capability to process and send read multiple
      response.
      
      Test case: TC_GAR_SR_BV_05_C
      
      This change also cleans up unnecessary initialization and freeing
      of multi rsp queue. This change makes sure that the stack initializes
      multi rsp queue only when it is necessary(ie only when the Gatt
      multiple read response is being processed).
      
      Bug: 29011255
      
      Change-Id: Ia3e2e1569ee16cac9c518f95501945257b9fb7fd
      (cherry picked from commit 3737592a7846766083041e81d72a2fab0b27fb38)
      94b4a1ad
  15. 12 Jul, 2016 1 commit
  16. 11 Jul, 2016 1 commit
    • Jacky Cheung's avatar
      New status code for two SMP authorization failures · 6984b19d
      Jacky Cheung authored
      On BTA_DM_AUTH_SMP_UNKNOWN_ERR and BTA_DM_AUTH_SMP_CONN_TOUT, bond state
      status will be notified as BT_STATUS_AUTH_FAILURE.  This is observed during
      the pairing flow with iOS devices.
      
      Plus minor cleanup on SMP errors and fail reasons.
      
      Bug: 29779689
      Change-Id: Ia32fe6bb84b07272d5159409f65217a06a2e5f8e
      6984b19d
  17. 07 Jul, 2016 2 commits
  18. 06 Jul, 2016 1 commit
  19. 02 Jul, 2016 1 commit
    • Jacky Cheung's avatar
      SMP: Delay authorization complete. · 29e70e38
      Jacky Cheung authored
      Delay authorization complete during Bond Pending state in SMP.
      Instead of automatically advancing the Bond Pending state, create
      a 500ms window to allow the slave to stop pairing by sending over
      the Pairing Failed command during the Bond Pending state.
      
      BUG: 28475887
      Change-Id: Id6c30247d15258cd18eb34827694b6cd79ca753a
      29e70e38
  20. 29 Jun, 2016 1 commit
    • Andre Eisenbach's avatar
      Log RSSI when A2DP buffers are flushed · ade5776f
      Andre Eisenbach authored
      To add another datapoint and potentially narrow down *why* we had to
      flush the buffers, add RSSI logging to keep track of signal strength
      during audio drop-out events.
      
      Change-Id: Ie52f56290951130165a9f375a898a9bacf459d55
      ade5776f
  21. 27 Jun, 2016 2 commits
  22. 24 Jun, 2016 5 commits