Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79b317a1 authored by Sharvil Nanavati's avatar Sharvil Nanavati Committed by Android (Google) Code Review
Browse files

Merge "Per Motorola, we're going to revert this change and submit...

Merge "Per Motorola, we're going to revert this change and submit Moto-specific code for this." into cw-e-dev
parents a769c916 4bc128b6
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -32,16 +32,7 @@ typedef enum {
  // requiring multiple retries to complete pairing. To avoid degrading the user
  // experience for those devices, automatically re-try pairing if page
  // timeouts are received during pairing.
  INTEROP_AUTO_RETRY_PAIRING,

  // Some headsets have audio jitter issues because of increased re-transmissions as the
  // 3 Mbps packets have a lower link margin, and are more prone to interference. We can
  // disable 3DH packets (use only 2DH packets) for the ACL link to improve sensitivity
  // when streaming A2DP audio to the headset. Air sniffer logs show reduced
  // re-transmissions after switching to 2DH packets.
  //
  // Disable 3Mbps packets and use only 2Mbps packets for ACL links when streaming audio.
  INTEROP_2MBPS_LINK_ONLY
  INTEROP_AUTO_RETRY_PAIRING
} interop_feature_t;

// Check if a given |addr| matches a known interoperability workaround as identified
+1 −4
Original line number Diff line number Diff line
@@ -43,8 +43,5 @@ static const interop_entry_t interop_database[] = {
  {{0x80, 0xe4, 0xda, 0x70,   0,0}, 4, INTEROP_DISABLE_LE_SECURE_CONNECTIONS},

  // BMW car kits (Harman/Becker)
  {{0x9c, 0xdf, 0x03,       0,0,0}, 3, INTEROP_AUTO_RETRY_PAIRING},

  // Jaybird Family
  {{0x00, 0x18, 0x91,       0,0,0}, 3, INTEROP_2MBPS_LINK_ONLY}
  {{0x9c, 0xdf, 0x03,       0,0,0}, 3, INTEROP_AUTO_RETRY_PAIRING}
};
+0 −19
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@
#include "l2cdefs.h"
#include "btm_api.h"
#include "btm_int.h"
#include "device/include/interop.h"


/* callback function declarations */
@@ -203,15 +202,6 @@ void avdt_l2c_connect_ind_cback(BD_ADDR bd_addr, UINT16 lcid, UINT16 psm, UINT8
            p_tbl->state = AVDT_AD_ST_SEC_ACP;
            p_tbl->cfg_flags = AVDT_L2C_CFG_CONN_ACP;

            if (interop_match(INTEROP_2MBPS_LINK_ONLY, (const bt_bdaddr_t *)&bd_addr)) {
                // Disable 3DH packets for AVDT ACL to improve sensitivity on HS
                tACL_CONN *p_acl_cb = btm_bda_to_acl(bd_addr, BT_TRANSPORT_BR_EDR);
                btm_set_packet_types(p_acl_cb, (btm_cb.btm_acl_pkt_types_supported |
                                                HCI_PKT_TYPES_MASK_NO_3_DH1 |
                                                HCI_PKT_TYPES_MASK_NO_3_DH3 |
                                                HCI_PKT_TYPES_MASK_NO_3_DH5));
            }

            /* Check the security */
            rc = btm_sec_mx_access_request (bd_addr, AVDT_PSM,
                FALSE, BTM_SEC_PROTO_AVDT,
@@ -331,15 +321,6 @@ void avdt_l2c_connect_cfm_cback(UINT16 lcid, UINT16 result)
                        p_tbl->lcid = lcid;
                        p_tbl->cfg_flags = AVDT_L2C_CFG_CONN_INT;

                        if (interop_match(INTEROP_2MBPS_LINK_ONLY, (const bt_bdaddr_t *) &p_ccb->peer_addr)) {
                            // Disable 3DH packets for AVDT ACL to improve sensitivity on HS
                            tACL_CONN *p_acl_cb = btm_bda_to_acl(p_ccb->peer_addr, BT_TRANSPORT_BR_EDR);
                            btm_set_packet_types(p_acl_cb, (btm_cb.btm_acl_pkt_types_supported |
                                                            HCI_PKT_TYPES_MASK_NO_3_DH1 |
                                                            HCI_PKT_TYPES_MASK_NO_3_DH3 |
                                                            HCI_PKT_TYPES_MASK_NO_3_DH5));
                        }

                        /* Check the security */
                        btm_sec_mx_access_request (p_ccb->peer_addr, AVDT_PSM,
                            TRUE, BTM_SEC_PROTO_AVDT,