Loading system/main/shim/btm_api.cc +1 −3 Original line number Diff line number Diff line Loading @@ -293,8 +293,6 @@ tBTM_STATUS bluetooth::shim::BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, inqparms.max_resps = BTIF_DM_DEFAULT_INQ_MAX_RESULTS; inqparms.report_dup = true; inqparms.filter_cond_type = BTM_CLR_INQUIRY_FILTER; std::lock_guard<std::mutex> lock(btm_cb_mutex_); btm_cb.btm_inq_vars.inq_cmpl_info.num_resp = 0; Loading @@ -314,7 +312,7 @@ tBTM_STATUS bluetooth::shim::BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, uint8_t classic_mode = inqparms.mode & 0x0f; if (!Stack::GetInstance()->GetBtm()->SetInquiryFilter( classic_mode, inqparms.filter_cond_type, inqparms.filter_cond)) { classic_mode, BTM_CLR_INQUIRY_FILTER, inqparms.filter_cond)) { LOG_WARN("%s Unable to set inquiry filter", __func__); return BTM_ERR_PROCESSING; } Loading system/stack/btm/btm_ble_gap.cc +0 −8 Original line number Diff line number Diff line Loading @@ -1371,19 +1371,11 @@ uint8_t btm_ble_is_discoverable(const RawAddress& bda, std::vector<uint8_t> const& adv_data) { uint8_t flag = 0, rt = 0; uint8_t data_len; tBTM_INQ_PARMS* p_cond = &btm_cb.btm_inq_vars.inqparms; /* for observer, always "discoverable */ if (BTM_BLE_IS_OBS_ACTIVE(btm_cb.ble_ctr_cb.scan_activity)) rt |= BTM_BLE_OBS_RESULT; /* does not match filter condition */ if (p_cond->filter_cond_type == HCI_FILTER_COND_BD_ADDR && bda != p_cond->filter_cond.bdaddr_cond) { BTM_TRACE_DEBUG("BD ADDR does not meet filter condition"); return rt; } if (!adv_data.empty()) { const uint8_t* p_flag = AdvertiseDataParser::GetFieldByType( adv_data, BTM_BLE_AD_TYPE_FLAG, &data_len); Loading system/stack/btm/btm_inq.cc +5 −32 Original line number Diff line number Diff line Loading @@ -644,8 +644,6 @@ tBTM_STATUS BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, p_inq->inqparms.max_resps = BTIF_DM_DEFAULT_INQ_MAX_RESULTS; p_inq->inqparms.report_dup = true; p_inq->inqparms.filter_cond_type = BTM_CLR_INQUIRY_FILTER; /* Initialize the inquiry variables */ p_inq->state = BTM_INQ_ACTIVE_STATE; p_inq->p_inq_cmpl_cb = p_cmpl_cb; Loading Loading @@ -683,36 +681,11 @@ tBTM_STATUS BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, return status; } /* BR/EDR inquiry portion */ /* If a filter is specified, then save it for later and clear the current filter. The setting of the filter is done upon completion of clearing of the previous filter. */ switch (p_inq->inqparms.filter_cond_type) { case BTM_CLR_INQUIRY_FILTER: p_inq->state = BTM_INQ_SET_FILT_STATE; break; case HCI_FILTER_COND_DEVICE_CLASS: case HCI_FILTER_COND_BD_ADDR: /* The filter is not being used so simply clear it; the inquiry can start after this operation */ p_inq->state = BTM_INQ_CLR_FILT_STATE; p_inq->inqparms.filter_cond_type = BTM_CLR_INQUIRY_FILTER; /* =============>>>> adding LE filtering here ????? */ break; default: LOG(ERROR) << __func__ << ": invalid filter condition type " << std::to_string(p_inq->inqparms.filter_cond_type); return (BTM_ILLEGAL_VALUE); } /* Before beginning the inquiry the current filter must be cleared, so * initiate the command */ status = btm_set_inq_event_filter(p_inq->inqparms.filter_cond_type, status = btm_set_inq_event_filter(BTM_CLR_INQUIRY_FILTER, &p_inq->inqparms.filter_cond); if (status != BTM_CMD_STARTED) { LOG(ERROR) << __func__ << ": failed to set inquiry event filter"; Loading Loading @@ -1348,7 +1321,7 @@ void btm_event_filter_complete(uint8_t* p) { /* Check to see if a new filter needs to be set up */ if (p_inq->state == BTM_INQ_CLR_FILT_STATE) { status = btm_set_inq_event_filter(p_inq->inqparms.filter_cond_type, status = btm_set_inq_event_filter(BTM_CLR_INQUIRY_FILTER, &p_inq->inqparms.filter_cond); if (status == BTM_CMD_STARTED) { p_inq->state = BTM_INQ_SET_FILT_STATE; Loading system/stack/include/btm_api_types.h +0 −1 Original line number Diff line number Diff line Loading @@ -419,7 +419,6 @@ typedef struct /* contains the parameters passed to the inquiry functions */ uint8_t max_resps; /* maximum number of responses to return */ bool report_dup; /* report duplicated inquiry response with higher RSSI value */ uint8_t filter_cond_type; /* new devices, BD ADDR, COD, or No filtering */ tBTM_INQ_FILT_COND filter_cond; /* filter value based on filter cond type */ } tBTM_INQ_PARMS; Loading Loading
system/main/shim/btm_api.cc +1 −3 Original line number Diff line number Diff line Loading @@ -293,8 +293,6 @@ tBTM_STATUS bluetooth::shim::BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, inqparms.max_resps = BTIF_DM_DEFAULT_INQ_MAX_RESULTS; inqparms.report_dup = true; inqparms.filter_cond_type = BTM_CLR_INQUIRY_FILTER; std::lock_guard<std::mutex> lock(btm_cb_mutex_); btm_cb.btm_inq_vars.inq_cmpl_info.num_resp = 0; Loading @@ -314,7 +312,7 @@ tBTM_STATUS bluetooth::shim::BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, uint8_t classic_mode = inqparms.mode & 0x0f; if (!Stack::GetInstance()->GetBtm()->SetInquiryFilter( classic_mode, inqparms.filter_cond_type, inqparms.filter_cond)) { classic_mode, BTM_CLR_INQUIRY_FILTER, inqparms.filter_cond)) { LOG_WARN("%s Unable to set inquiry filter", __func__); return BTM_ERR_PROCESSING; } Loading
system/stack/btm/btm_ble_gap.cc +0 −8 Original line number Diff line number Diff line Loading @@ -1371,19 +1371,11 @@ uint8_t btm_ble_is_discoverable(const RawAddress& bda, std::vector<uint8_t> const& adv_data) { uint8_t flag = 0, rt = 0; uint8_t data_len; tBTM_INQ_PARMS* p_cond = &btm_cb.btm_inq_vars.inqparms; /* for observer, always "discoverable */ if (BTM_BLE_IS_OBS_ACTIVE(btm_cb.ble_ctr_cb.scan_activity)) rt |= BTM_BLE_OBS_RESULT; /* does not match filter condition */ if (p_cond->filter_cond_type == HCI_FILTER_COND_BD_ADDR && bda != p_cond->filter_cond.bdaddr_cond) { BTM_TRACE_DEBUG("BD ADDR does not meet filter condition"); return rt; } if (!adv_data.empty()) { const uint8_t* p_flag = AdvertiseDataParser::GetFieldByType( adv_data, BTM_BLE_AD_TYPE_FLAG, &data_len); Loading
system/stack/btm/btm_inq.cc +5 −32 Original line number Diff line number Diff line Loading @@ -644,8 +644,6 @@ tBTM_STATUS BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, p_inq->inqparms.max_resps = BTIF_DM_DEFAULT_INQ_MAX_RESULTS; p_inq->inqparms.report_dup = true; p_inq->inqparms.filter_cond_type = BTM_CLR_INQUIRY_FILTER; /* Initialize the inquiry variables */ p_inq->state = BTM_INQ_ACTIVE_STATE; p_inq->p_inq_cmpl_cb = p_cmpl_cb; Loading Loading @@ -683,36 +681,11 @@ tBTM_STATUS BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, return status; } /* BR/EDR inquiry portion */ /* If a filter is specified, then save it for later and clear the current filter. The setting of the filter is done upon completion of clearing of the previous filter. */ switch (p_inq->inqparms.filter_cond_type) { case BTM_CLR_INQUIRY_FILTER: p_inq->state = BTM_INQ_SET_FILT_STATE; break; case HCI_FILTER_COND_DEVICE_CLASS: case HCI_FILTER_COND_BD_ADDR: /* The filter is not being used so simply clear it; the inquiry can start after this operation */ p_inq->state = BTM_INQ_CLR_FILT_STATE; p_inq->inqparms.filter_cond_type = BTM_CLR_INQUIRY_FILTER; /* =============>>>> adding LE filtering here ????? */ break; default: LOG(ERROR) << __func__ << ": invalid filter condition type " << std::to_string(p_inq->inqparms.filter_cond_type); return (BTM_ILLEGAL_VALUE); } /* Before beginning the inquiry the current filter must be cleared, so * initiate the command */ status = btm_set_inq_event_filter(p_inq->inqparms.filter_cond_type, status = btm_set_inq_event_filter(BTM_CLR_INQUIRY_FILTER, &p_inq->inqparms.filter_cond); if (status != BTM_CMD_STARTED) { LOG(ERROR) << __func__ << ": failed to set inquiry event filter"; Loading Loading @@ -1348,7 +1321,7 @@ void btm_event_filter_complete(uint8_t* p) { /* Check to see if a new filter needs to be set up */ if (p_inq->state == BTM_INQ_CLR_FILT_STATE) { status = btm_set_inq_event_filter(p_inq->inqparms.filter_cond_type, status = btm_set_inq_event_filter(BTM_CLR_INQUIRY_FILTER, &p_inq->inqparms.filter_cond); if (status == BTM_CMD_STARTED) { p_inq->state = BTM_INQ_SET_FILT_STATE; Loading
system/stack/include/btm_api_types.h +0 −1 Original line number Diff line number Diff line Loading @@ -419,7 +419,6 @@ typedef struct /* contains the parameters passed to the inquiry functions */ uint8_t max_resps; /* maximum number of responses to return */ bool report_dup; /* report duplicated inquiry response with higher RSSI value */ uint8_t filter_cond_type; /* new devices, BD ADDR, COD, or No filtering */ tBTM_INQ_FILT_COND filter_cond; /* filter value based on filter cond type */ } tBTM_INQ_PARMS; Loading