From e4fb19000a7682e73e063444a7551aeb3681c308 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Jian Date: Mon, 5 Mar 2018 16:14:48 +0800 Subject: [PATCH] Merge branch 'bugfix/btdm_update_pktLen_have_no_callback' into 'master' component/bt: Fix bug:update pktlen have no callback See merge request idf/esp-idf!1913 (cherry picked from commit 17e8d49f26fd108efcc6b108843241d2eda2ba1e) acdad323 component/bt: Fix bug:update pktlen have no callback --- components/bt/bluedroid/bta/dm/bta_dm_act.c | 37 +++++++++++---------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/components/bt/bluedroid/bta/dm/bta_dm_act.c b/components/bt/bluedroid/bta/dm/bta_dm_act.c index 9d8549020..54bd5d781 100644 --- a/components/bt/bluedroid/bta/dm/bta_dm_act.c +++ b/components/bt/bluedroid/bta/dm/bta_dm_act.c @@ -4908,25 +4908,26 @@ void bta_dm_ble_set_scan_rsp_raw (tBTA_DM_MSG *p_data) void bta_dm_ble_set_data_length(tBTA_DM_MSG *p_data) { tACL_CONN *p_acl_cb = btm_bda_to_acl(p_data->ble_set_data_length.remote_bda, BT_TRANSPORT_LE); - if (p_acl_cb == NULL) { - APPL_TRACE_ERROR("%s error: Invalid connection remote_bda.", __func__); - return; - } else { - p_acl_cb->p_set_pkt_data_cback = p_data->ble_set_data_length.p_set_pkt_data_cback; - } - UINT8 status = BTM_SetBleDataLength(p_data->ble_set_data_length.remote_bda, - p_data->ble_set_data_length.tx_data_length); - if (status != BTM_SUCCESS) { - APPL_TRACE_ERROR("%s failed\n", __FUNCTION__); - if (p_data->ble_set_data_length.p_set_pkt_data_cback) { - if (p_acl_cb->data_length_params.tx_len == 0){ - uint16_t length = controller_get_interface()->get_acl_data_size_ble(); - p_acl_cb->data_length_params.rx_len = length; - p_acl_cb->data_length_params.tx_len = length; - } - (*p_data->ble_set_data_length.p_set_pkt_data_cback)(status, &p_acl_cb->data_length_params); - } + if (p_acl_cb == NULL) { + APPL_TRACE_ERROR("%s error: Invalid connection remote_bda.", __func__); + return; + } else { + p_acl_cb->p_set_pkt_data_cback = p_data->ble_set_data_length.p_set_pkt_data_cback; } + UINT8 status = BTM_SetBleDataLength(p_data->ble_set_data_length.remote_bda, + p_data->ble_set_data_length.tx_data_length); + if (status != BTM_SUCCESS) { + APPL_TRACE_ERROR("%s failed\n", __FUNCTION__); + } + if (p_data->ble_set_data_length.p_set_pkt_data_cback) { + if (p_acl_cb->data_length_params.tx_len == 0){ + uint16_t length = controller_get_interface()->get_acl_data_size_ble(); + p_acl_cb->data_length_params.rx_len = length; + p_acl_cb->data_length_params.tx_len = length; + } + (*p_data->ble_set_data_length.p_set_pkt_data_cback)(status, &p_acl_cb->data_length_params); + } + } /*******************************************************************************