fix(ble/bluedroid): disable read_local_name

(cherry picked from commit 5f9680e3a016b65698eebf5a23e91ee55a036386)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
This commit is contained in:
Zhi Wei Jian
2026-01-07 17:24:19 +08:00
parent ed58eaeb20
commit a8d0be7f2a
5 changed files with 25 additions and 2 deletions
@@ -536,7 +536,9 @@ static void bta_dm_sys_hw_cback( tBTA_SYS_HW_EVT status )
But then we have a few HCI commands being invoked above which were still in progress
when the ENABLE_EVT was sent. So modified this to fetch the local name which forces
the DM_ENABLE_EVT to be sent only after all the init steps are complete */
#if (CLASSIC_BT_INCLUDED == TRUE)
BTM_ReadLocalDeviceNameFromController((tBTM_CMPL_CB *)bta_dm_local_name_cback);
#endif // (CLASSIC_BT_INCLUDED == TRUE)
bta_sys_rm_register((tBTA_SYS_CONN_CBACK *)bta_dm_rm_cback);
@@ -551,6 +553,12 @@ static void bta_dm_sys_hw_cback( tBTA_SYS_HW_EVT status )
bta_dm_gattc_register();
#endif
#if (CLASSIC_BT_INCLUDED == TRUE)
// do nothing
#else
bta_dm_local_name_cback(NULL);
#endif
} else {
APPL_TRACE_DEBUG(" --- ignored event");
}
@@ -88,7 +88,9 @@ void btm_dev_init (void)
#endif
btm_cb.devcb.reset_timer.param = (TIMER_PARAM_TYPE)TT_DEV_RESET;
#if (CLASSIC_BT_INCLUDED == TRUE)
btm_cb.devcb.rln_timer.param = (TIMER_PARAM_TYPE)TT_DEV_RLN;
#endif // (CLASSIC_BT_INCLUDED == TRUE)
btm_cb.btm_acl_pkt_types_supported = BTM_ACL_PKT_TYPES_MASK_DH1 + BTM_ACL_PKT_TYPES_MASK_DM1 +
BTM_ACL_PKT_TYPES_MASK_DH3 + BTM_ACL_PKT_TYPES_MASK_DM3 +
@@ -122,6 +124,7 @@ static void btm_db_reset (void)
btm_inq_db_reset();
#if (CLASSIC_BT_INCLUDED == TRUE)
if (btm_cb.devcb.p_rln_cmpl_cb) {
p_cb = btm_cb.devcb.p_rln_cmpl_cb;
btm_cb.devcb.p_rln_cmpl_cb = NULL;
@@ -130,6 +133,7 @@ static void btm_db_reset (void)
(*p_cb)((void *) NULL);
}
}
#endif // (CLASSIC_BT_INCLUDED == TRUE)
if (btm_cb.devcb.p_rssi_cmpl_cb) {
p_cb = btm_cb.devcb.p_rssi_cmpl_cb;
@@ -248,6 +252,7 @@ BOOLEAN BTM_IsDeviceUp (void)
return controller_get_interface()->get_is_ready();
}
#if (CLASSIC_BT_INCLUDED == TRUE)
/*******************************************************************************
**
** Function btm_dev_timeout
@@ -271,6 +276,7 @@ void btm_dev_timeout (TIMER_LIST_ENT *p_tle)
}
}
}
#endif // (CLASSIC_BT_INCLUDED == TRUE)
/*******************************************************************************
**
@@ -553,7 +559,7 @@ tBTM_STATUS BTM_ReadLocalDeviceName (char **p_name, tBT_DEVICE_TYPE name_type)
#endif
}
#if (CLASSIC_BT_INCLUDED == TRUE)
/*******************************************************************************
**
** Function BTM_ReadLocalDeviceNameFromController
@@ -611,7 +617,7 @@ void btm_read_local_name_complete (UINT8 *p, UINT16 evt_len)
}
}
}
#endif // (CLASSIC_BT_INCLUDED == TRUE)
/*******************************************************************************
**
** Function BTM_SetDeviceClass
@@ -183,13 +183,18 @@ typedef struct {
tBTM_DEV_STATUS_CB *p_dev_status_cb; /* Device status change callback */
tBTM_VS_EVT_CB *p_vend_spec_cb[BTM_MAX_VSE_CALLBACKS]; /* Register for vendor specific events */
#if (CLASSIC_BT_INCLUDED == TRUE)
tBTM_CMPL_CB *p_stored_link_key_cmpl_cb; /* Read/Write/Delete stored link key */
#endif // (CLASSIC_BT_INCLUDED == TRUE)
TIMER_LIST_ENT reset_timer;
tBTM_CMPL_CB *p_reset_cmpl_cb;
#if (CLASSIC_BT_INCLUDED == TRUE)
TIMER_LIST_ENT rln_timer;
tBTM_CMPL_CB *p_rln_cmpl_cb; /* Callback function to be called when */
#endif // (CLASSIC_BT_INCLUDED == TRUE)
/* read local name function complete */
TIMER_LIST_ENT rssi_timer;
tBTM_CMPL_CB *p_rssi_cmpl_cb; /* Callback function to be called when */
@@ -1216,7 +1216,9 @@ static void btu_hcif_hdl_command_complete (UINT16 opcode, UINT8 *p, UINT16 evt_l
break;
#endif // #if (CLASSIC_BT_INCLUDED == TRUE)
case HCI_READ_LOCAL_NAME:
#if (CLASSIC_BT_INCLUDED == TRUE)
btm_read_local_name_complete (p, evt_len);
#endif // (CLASSIC_BT_INCLUDED == TRUE)
break;
case HCI_READ_RSSI:
btm_read_rssi_complete (p, evt_len);
@@ -315,7 +315,9 @@ static void btu_general_alarm_process(void *param)
switch (p_tle->event) {
case BTU_TTYPE_BTM_DEV_CTL:
#if (CLASSIC_BT_INCLUDED == TRUE)
btm_dev_timeout(p_tle);
#endif // (CLASSIC_BT_INCLUDED == TRUE)
break;
case BTU_TTYPE_L2CAP_LINK: