diff options
-rw-r--r-- | bta/hh/bta_hh_utils.cc | 12 | ||||
-rw-r--r-- | device/include/interop_database.h | 8 |
2 files changed, 13 insertions, 7 deletions
diff --git a/bta/hh/bta_hh_utils.cc b/bta/hh/bta_hh_utils.cc index e36978813..f3cb1b31f 100644 --- a/bta/hh/bta_hh_utils.cc +++ b/bta/hh/bta_hh_utils.cc @@ -21,6 +21,7 @@ #if (BTA_HH_INCLUDED == TRUE) #include "bta_hh_int.h" +#include "btif/include/btif_storage.h" #include "device/include/interop.h" #include "osi/include/osi.h" @@ -394,9 +395,14 @@ tBTA_HH_STATUS bta_hh_read_ssr_param(const RawAddress& bd_addr, if (ssr_max_latency > BTA_HH_SSR_MAX_LATENCY_DEF) ssr_max_latency = BTA_HH_SSR_MAX_LATENCY_DEF; - if (interop_match_addr(INTEROP_HID_HOST_LIMIT_SNIFF_INTERVAL, - &bd_addr)) { - if (ssr_max_latency > 18 /* slots * 0.625ms */) ssr_max_latency = 18; + char remote_name[BTM_MAX_REM_BD_NAME_LEN] = ""; + if (btif_storage_get_stored_remote_name(bd_addr, remote_name)) { + if (interop_match_name(INTEROP_HID_HOST_LIMIT_SNIFF_INTERVAL, + remote_name)) { + if (ssr_max_latency > 18 /* slots * 0.625ms */) { + ssr_max_latency = 18; + } + } } *p_max_ssr_lat = ssr_max_latency; diff --git a/device/include/interop_database.h b/device/include/interop_database.h index 339e853dd..d7425c914 100644 --- a/device/include/interop_database.h +++ b/device/include/interop_database.h @@ -143,10 +143,6 @@ static const interop_addr_entry_t interop_addr_database[] = { // AirPods 2 - unacceptably loud volume {{{0x94, 0x16, 0x25, 0, 0, 0}}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME}, - - // Nintendo Switch Pro Controller - does not set sniff interval dynamically. - // Requires custom HID report command to change mode. - {{{0x98, 0xB6, 0xE9, 0, 0, 0}}, 3, INTEROP_HID_HOST_LIMIT_SNIFF_INTERVAL}, }; typedef struct { @@ -173,4 +169,8 @@ static const interop_name_entry_t interop_name_database[] = { // Kenwood KMM-BT518HD - no audio when A2DP codec sample rate is changed {"KMM-BT51*HD", 11, INTEROP_DISABLE_AVDTP_RECONFIGURE}, + + // Nintendo Switch Pro Controller - does not set sniff interval dynamically. + // Requires custom HID report command to change mode. + {"Pro Controller", 14, INTEROP_HID_HOST_LIMIT_SNIFF_INTERVAL}, }; |