mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-01 10:40:47 +03:00
fix(ble/bluedroid): track ext scan state for rand addr check
Update inq_var.state only after btsnd_hcic_ble_ext_scan_enable succeeds.
Clear BTM_BLE_SCANNING on explicit stop and controller scan timeout.
(cherry picked from commit 23519567e4)
Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
This commit is contained in:
@@ -1114,6 +1114,12 @@ tBTM_STATUS BTM_BleExtendedScan(BOOLEAN enable, UINT16 duration, UINT16 period)
|
||||
if ((err = btsnd_hcic_ble_ext_scan_enable(enable, extend_adv_cb.scan_duplicate, duration, period)) != HCI_SUCCESS) {
|
||||
BTM_TRACE_ERROR("LE ES En=%d: cmd err=0x%x", enable, err);
|
||||
status = BTM_HCI_ERROR | err;
|
||||
} else {
|
||||
if (enable) {
|
||||
btm_cb.ble_ctr_cb.inq_var.state |= BTM_BLE_SCANNING;
|
||||
} else {
|
||||
btm_cb.ble_ctr_cb.inq_var.state &= ~BTM_BLE_SCANNING;
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
@@ -1266,6 +1272,7 @@ void btm_ble_update_phy_evt(tBTM_BLE_UPDATE_PHY *params)
|
||||
#if (BLE_50_EXTEND_SCAN_EN == TRUE)
|
||||
void btm_ble_scan_timeout_evt(void)
|
||||
{
|
||||
btm_cb.ble_ctr_cb.inq_var.state &= ~BTM_BLE_SCANNING;
|
||||
BTM_ExtBleCallbackTrigger(BTM_BLE_5_GAP_SCAN_TIMEOUT_EVT, NULL);
|
||||
}
|
||||
#endif // #if (BLE_50_EXTEND_SCAN_EN == TRUE)
|
||||
|
||||
Reference in New Issue
Block a user