mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-01 18:50:34 +03:00
Merge branch 'bugfix/fix_ble_read_remote_feature_timeout_v5.4' into 'release/v5.4'
Fixed read remote feature timeout when using coded phy(2f683593) (5.4) See merge request espressif/esp-idf!48062
This commit is contained in:
@@ -578,8 +578,8 @@ void BTM_BleSetPrefConnParams (BD_ADDR bd_addr,
|
||||
tout: %u",
|
||||
min_conn_int, max_conn_int, slave_latency, supervision_tout);
|
||||
|
||||
if (BTM_BLE_ISVALID_PARAM(min_conn_int, BTM_BLE_CONN_INT_MIN, BTM_BLE_CONN_INT_MAX) &&
|
||||
BTM_BLE_ISVALID_PARAM(max_conn_int, BTM_BLE_CONN_INT_MIN, BTM_BLE_CONN_INT_MAX) &&
|
||||
if (BTM_BLE_ISVALID_PARAM(min_conn_int, BLE_CONN_INT_MIN_HOST_CHECK, BTM_BLE_CONN_INT_MAX) &&
|
||||
BTM_BLE_ISVALID_PARAM(max_conn_int, BLE_CONN_INT_MIN_HOST_CHECK, BTM_BLE_CONN_INT_MAX) &&
|
||||
BTM_BLE_ISVALID_PARAM(supervision_tout, BTM_BLE_CONN_SUP_TOUT_MIN, BTM_BLE_CONN_SUP_TOUT_MAX) &&
|
||||
(slave_latency <= BTM_BLE_CONN_LATENCY_MAX || slave_latency == BTM_BLE_CONN_PARAM_UNDEF)) {
|
||||
if (p_dev_rec) {
|
||||
|
||||
@@ -122,6 +122,11 @@ typedef UINT8 tBTM_BLE_SFP;
|
||||
#define BTM_BLE_SCAN_INT_MAX 0x4000
|
||||
#define BTM_BLE_SCAN_WIN_MIN 0x0004
|
||||
#define BTM_BLE_SCAN_WIN_MAX 0x4000
|
||||
/* Bluetooth Core Spec minimum BLE connection interval (7.5 ms). Used inside
|
||||
* the host stack wherever the on-air or interoperability semantics require
|
||||
* the spec value. For host-side parameter validation (which can be relaxed
|
||||
* to accept sub-spec intervals) use BLE_CONN_INT_MIN_HOST_CHECK from
|
||||
* common/bt_target.h instead. */
|
||||
#define BTM_BLE_CONN_INT_MIN 0x0006
|
||||
#define BTM_BLE_CONN_INT_MAX 0x0C80
|
||||
#define BTM_BLE_CONN_LATENCY_MAX 499
|
||||
|
||||
@@ -377,9 +377,9 @@ void l2cble_scanner_conn_comp (UINT16 handle, BD_ADDR bda, tBLE_ADDR_TYPE type,
|
||||
p_lcb->ble_addr_type = type;
|
||||
|
||||
/* If there are any preferred connection parameters, set them now */
|
||||
if ( (p_dev_rec->conn_params.min_conn_int >= BTM_BLE_CONN_INT_MIN ) &&
|
||||
if ( (p_dev_rec->conn_params.min_conn_int >= BLE_CONN_INT_MIN_HOST_CHECK ) &&
|
||||
(p_dev_rec->conn_params.min_conn_int <= BTM_BLE_CONN_INT_MAX ) &&
|
||||
(p_dev_rec->conn_params.max_conn_int >= BTM_BLE_CONN_INT_MIN ) &&
|
||||
(p_dev_rec->conn_params.max_conn_int >= BLE_CONN_INT_MIN_HOST_CHECK ) &&
|
||||
(p_dev_rec->conn_params.max_conn_int <= BTM_BLE_CONN_INT_MAX ) &&
|
||||
(p_dev_rec->conn_params.slave_latency <= BTM_BLE_CONN_LATENCY_MAX ) &&
|
||||
(p_dev_rec->conn_params.supervision_tout >= BTM_BLE_CONN_SUP_TOUT_MIN) &&
|
||||
@@ -762,8 +762,8 @@ void l2cble_process_sig_cmd (tL2C_LCB *p_lcb, UINT8 *p, UINT16 pkt_len)
|
||||
STREAM_TO_UINT16 (timeout, p); /* 0x000A - 0x0C80 */
|
||||
/* If we are a master, the slave wants to update the parameters */
|
||||
if (p_lcb->link_role == HCI_ROLE_MASTER) {
|
||||
if (min_interval < BTM_BLE_CONN_INT_MIN || min_interval > BTM_BLE_CONN_INT_MAX ||
|
||||
max_interval < BTM_BLE_CONN_INT_MIN || max_interval > BTM_BLE_CONN_INT_MAX ||
|
||||
if (min_interval < BLE_CONN_INT_MIN_HOST_CHECK || min_interval > BTM_BLE_CONN_INT_MAX ||
|
||||
max_interval < BLE_CONN_INT_MIN_HOST_CHECK || max_interval > BTM_BLE_CONN_INT_MAX ||
|
||||
latency > BTM_BLE_CONN_LATENCY_MAX ||
|
||||
timeout < BTM_BLE_CONN_SUP_TOUT_MIN || timeout > BTM_BLE_CONN_SUP_TOUT_MAX ||
|
||||
/* The supervision_timeout parameter defines the link supervision timeout for the connection.
|
||||
|
||||
Reference in New Issue
Block a user