|
@@ -1958,54 +1958,6 @@ wlan_get_ieee80211_channel(struct wiphy *wiphy,
|
|
|
return chan;
|
|
|
}
|
|
|
|
|
|
-#ifdef WLAN_ENABLE_AGEIE_ON_SCAN_RESULTS
|
|
|
-static inline int wlan_get_frame_len(struct scan_cache_entry *scan_params)
|
|
|
-{
|
|
|
- return util_scan_entry_frame_len(scan_params) + sizeof(qcom_ie_age);
|
|
|
-}
|
|
|
-
|
|
|
-static inline void wlan_add_age_ie(uint8_t *mgmt_frame,
|
|
|
- struct scan_cache_entry *scan_params)
|
|
|
-{
|
|
|
- qcom_ie_age *qie_age = NULL;
|
|
|
-
|
|
|
- /* GPS Requirement: need age ie per entry. Using vendor specific. */
|
|
|
- /* Assuming this is the last IE, copy at the end */
|
|
|
- qie_age = (qcom_ie_age *) (mgmt_frame +
|
|
|
- util_scan_entry_frame_len(scan_params));
|
|
|
- qie_age->element_id = QCOM_VENDOR_IE_ID;
|
|
|
- qie_age->len = QCOM_VENDOR_IE_AGE_LEN;
|
|
|
- qie_age->oui_1 = QCOM_OUI1;
|
|
|
- qie_age->oui_2 = QCOM_OUI2;
|
|
|
- qie_age->oui_3 = QCOM_OUI3;
|
|
|
- qie_age->type = QCOM_VENDOR_IE_AGE_TYPE;
|
|
|
- /*
|
|
|
- * Lowi expects the timestamp of bss in units of 1/10 ms. In driver
|
|
|
- * all bss related timestamp is in units of ms. Due to this when scan
|
|
|
- * results are sent to lowi the scan age is high.To address this,
|
|
|
- * send age in units of 1/10 ms.
|
|
|
- */
|
|
|
- qie_age->age =
|
|
|
- (uint32_t)(qdf_mc_timer_get_system_time() -
|
|
|
- scan_params->scan_entry_time)/10;
|
|
|
- qie_age->tsf_delta = scan_params->tsf_delta;
|
|
|
- memcpy(&qie_age->beacon_tsf, scan_params->tsf_info.data,
|
|
|
- sizeof(qie_age->beacon_tsf));
|
|
|
- memcpy(&qie_age->seq_ctrl, &scan_params->seq_num,
|
|
|
- sizeof(qie_age->seq_ctrl));
|
|
|
-}
|
|
|
-#else
|
|
|
-static inline int wlan_get_frame_len(struct scan_cache_entry *scan_params)
|
|
|
-{
|
|
|
- return util_scan_entry_frame_len(scan_params);
|
|
|
-}
|
|
|
-
|
|
|
-static inline void wlan_add_age_ie(uint8_t *mgmt_frame,
|
|
|
- struct scan_cache_entry *scan_params)
|
|
|
-{
|
|
|
-}
|
|
|
-#endif /* WLAN_ENABLE_AGEIE_ON_SCAN_RESULTS */
|
|
|
-
|
|
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) || \
|
|
|
defined(CFG80211_INFORM_BSS_FRAME_DATA)
|
|
|
/**
|
|
@@ -2102,7 +2054,7 @@ void wlan_cfg80211_inform_bss_frame(struct wlan_objmgr_pdev *pdev,
|
|
|
|
|
|
wiphy = pdev_ospriv->wiphy;
|
|
|
|
|
|
- bss_data.frame_len = wlan_get_frame_len(scan_params);
|
|
|
+ bss_data.frame_len = ucfg_scan_get_entry_frame_len(scan_params);
|
|
|
bss_data.mgmt = qdf_mem_malloc_atomic(bss_data.frame_len);
|
|
|
if (!bss_data.mgmt) {
|
|
|
osif_err("bss mem alloc failed for seq %d",
|
|
@@ -2117,7 +2069,6 @@ void wlan_cfg80211_inform_bss_frame(struct wlan_objmgr_pdev *pdev,
|
|
|
* Instead it wants a monotonic increasing value
|
|
|
*/
|
|
|
bss_data.mgmt->u.probe_resp.timestamp = qdf_get_monotonic_boottime();
|
|
|
- wlan_add_age_ie((uint8_t *)bss_data.mgmt, scan_params);
|
|
|
/*
|
|
|
* Based on .ini configuration, raw rssi can be reported for bss.
|
|
|
* Raw rssi is typically used for estimating power.
|