mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
qcacld-3.0: Add changes to get/flush scan results
Add changes to get/flush scan results. Also add support to convert legacy filter and scan entry to converged one and vice versa. Change-Id: I590745af3943a8975fb0644d02e58b2133c9f1cb CRs-Fixed: 2013212
This commit is contained in:
parent
6eb83c04ee
commit
6092fbbd64
9 changed files with 851 additions and 68 deletions
|
|
@ -8200,6 +8200,36 @@ out:
|
|||
|
||||
}
|
||||
|
||||
#ifdef NAPIER_SCAN
|
||||
/**
|
||||
*
|
||||
* hdd_post_cds_enable_config() - HDD post cds start config helper
|
||||
* @adapter - Pointer to the HDD
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline QDF_STATUS hdd_register_bcn_cb(hdd_context_t *hdd_ctx)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
|
||||
status = ucfg_scan_register_bcn_cb(hdd_ctx->hdd_psoc,
|
||||
wlan_cfg80211_inform_bss_frame,
|
||||
SCAN_CB_TYPE_INFORM_BCN);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("failed with status code %08d [x%08x]",
|
||||
status, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#else
|
||||
static inline QDF_STATUS hdd_register_bcn_cb(hdd_context_t *hdd_ctx)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* hdd_configure_cds() - Configure cds modules
|
||||
|
|
@ -8250,6 +8280,11 @@ int hdd_configure_cds(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter)
|
|||
hdd_alert("hdd_post_cds_enable_config failed");
|
||||
goto cds_disable;
|
||||
}
|
||||
status = hdd_register_bcn_cb(hdd_ctx);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_alert("hdd_post_cds_enable_config failed");
|
||||
goto cds_disable;
|
||||
}
|
||||
|
||||
ret = hdd_features_init(hdd_ctx, adapter);
|
||||
if (ret)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -175,7 +175,7 @@ lim_process_beacon_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info,
|
|||
qdf_mem_free(bcn_ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef NAPIER_SCAN
|
||||
/**---------------------------------------------------------------
|
||||
\fn lim_process_beacon_frame_no_session
|
||||
\brief This function is called by limProcessMessageQueue()
|
||||
|
|
@ -256,3 +256,4 @@ lim_process_beacon_frame_no_session(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo)
|
|||
|
||||
return;
|
||||
} /*** end lim_process_beacon_frame_no_session() ***/
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -329,7 +329,7 @@ lim_process_probe_rsp_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_Packet_info,
|
|||
/* Ignore Probe Response frame in all other states */
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef NAPIER_SCAN
|
||||
/**
|
||||
* lim_process_probe_rsp_frame_no_session() - process Probe Response frame
|
||||
* @mac_ctx: Pointer to Global MAC structure
|
||||
|
|
@ -401,3 +401,4 @@ lim_process_probe_rsp_frame_no_session(tpAniSirGlobal mac_ctx,
|
|||
qdf_mem_free(probe_rsp);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -233,6 +233,7 @@ lim_collect_bss_description(tpAniSirGlobal pMac,
|
|||
return;
|
||||
} /*** end lim_collect_bss_description() ***/
|
||||
|
||||
#ifndef NAPIER_SCAN
|
||||
/**
|
||||
* lim_check_and_add_bss_description()
|
||||
* @mac_ctx: Pointer to Global MAC structure
|
||||
|
|
@ -367,4 +368,4 @@ lim_check_and_add_bss_description(tpAniSirGlobal mac_ctx,
|
|||
}
|
||||
qdf_mem_free(bssdescr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012, 2014-2016 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2012, 2014-2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -44,8 +44,15 @@
|
|||
uint8_t lim_scan_hash_function(tSirMacAddr);
|
||||
void lim_restore_pre_scan_state(tpAniSirGlobal);
|
||||
void lim_copy_scan_result(tpAniSirGlobal, uint8_t *);
|
||||
#ifndef NAPIER_SCAN
|
||||
void lim_check_and_add_bss_description(tpAniSirGlobal, tpSirProbeRespBeacon,
|
||||
uint8_t *, bool, uint8_t);
|
||||
#else
|
||||
static inline
|
||||
void lim_check_and_add_bss_description(tpAniSirGlobal mac_ctx,
|
||||
tpSirProbeRespBeacon bcn, uint8_t *rx_pkt,
|
||||
bool scanning, uint8_t probe){}
|
||||
#endif
|
||||
void lim_collect_bss_description(tpAniSirGlobal pMac,
|
||||
tSirBssDescription *pBssDescr,
|
||||
tpSirProbeRespBeacon pBPR,
|
||||
|
|
|
|||
|
|
@ -436,7 +436,13 @@ void lim_process_beacon_frame(tpAniSirGlobal, uint8_t *, tpPESession);
|
|||
void lim_process_beacon_frame_no_session(tpAniSirGlobal, uint8_t *);
|
||||
void lim_process_probe_req_frame(tpAniSirGlobal, uint8_t *, tpPESession);
|
||||
void lim_process_probe_rsp_frame(tpAniSirGlobal, uint8_t *, tpPESession);
|
||||
#ifndef NAPIER_SCAN
|
||||
void lim_process_probe_rsp_frame_no_session(tpAniSirGlobal, uint8_t *);
|
||||
#else
|
||||
static inline
|
||||
void lim_process_probe_rsp_frame_no_session(tpAniSirGlobal mac_ctx,
|
||||
uint8_t *pkt){}
|
||||
#endif
|
||||
void lim_process_probe_req_frame_multiple_bss(tpAniSirGlobal, uint8_t *,
|
||||
tpPESession);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -300,6 +300,7 @@ static void __sch_beacon_process_no_session(tpAniSirGlobal pMac,
|
|||
lim_handle_ibss_coalescing(pMac, pBeacon, pRxPacketInfo,
|
||||
psessionEntry);
|
||||
}
|
||||
#ifndef NAPIER_SCAN
|
||||
/* If station(STA/BT-STA/BT-AP/IBSS) mode, Always save the
|
||||
* beacon in the scan results, if atleast one session is
|
||||
* active. sch_beacon_process_no_session will be called only
|
||||
|
|
@ -308,6 +309,7 @@ static void __sch_beacon_process_no_session(tpAniSirGlobal pMac,
|
|||
*/
|
||||
lim_check_and_add_bss_description(pMac, pBeacon, pRxPacketInfo, false,
|
||||
false);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -295,14 +295,6 @@ QDF_STATUS csr_abort_scan_from_active_list(tpAniSirGlobal pMac,
|
|||
uint32_t sessionId, uint32_t scan_id,
|
||||
eSmeCommandType scan_cmd_type, eCsrAbortReason abort_reason);
|
||||
|
||||
/* To age out scan results base. tSmeGetScanChnRsp is a pointer returned by LIM that */
|
||||
/* has the information regarding scanned channels. */
|
||||
/* The logic is that whenever CSR add a BSS to scan result, it set the age count to */
|
||||
/* a value. This function deduct the age count if channelId matches the BSS' channelId */
|
||||
/* The BSS is remove if the count reaches 0. */
|
||||
QDF_STATUS csr_scan_age_results(tpAniSirGlobal pMac,
|
||||
tSmeGetScanChnRsp *pScanChnInfo);
|
||||
|
||||
/* If fForce is true we will save the new String that is learn't. */
|
||||
/* Typically it will be true in case of Join or user initiated ioctl */
|
||||
bool csr_learn_11dcountry_information(tpAniSirGlobal pMac,
|
||||
|
|
@ -1065,6 +1057,16 @@ void csr_roam_prepare_bss_params(tpAniSirGlobal mac_ctx, uint32_t session_id,
|
|||
tCsrRoamProfile *profile, tSirBssDescription *bss_desc,
|
||||
tBssConfigParam *bss_cfg, tDot11fBeaconIEs *ies);
|
||||
|
||||
/**
|
||||
* csr_remove_bssid_from_scan_list() - remove the bssid from
|
||||
* scan list
|
||||
* @mac_tx: mac context.
|
||||
* @bssid: bssid to be removed
|
||||
*
|
||||
* This function remove the given bssid from scan list.
|
||||
*
|
||||
* Return: void.
|
||||
*/
|
||||
void csr_remove_bssid_from_scan_list(tpAniSirGlobal mac_ctx,
|
||||
tSirMacAddr bssid);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue