Commit Graph

258 Commits

Author SHA1 Message Date
bings
53a13ccb3a qcacld-3.0: Add API to get sta information for EasyMesh
Add API to get sta information for EasyMesh.

Change-Id: I12e7eaae3562ca35b33f0637a33e784b912ca8a3
CRs-Fixed: 3044736
2021-12-08 13:50:00 -08:00
Liangwei Dong
6e61b6bb8c qcacld-3.0: Handle vendor LTE unsafe channel ranges
In 3rd party platform, CNSS driver will provide
LTE avoidance channel frequency ranges by API
cnss_utils_get_wlan_unsafe_channel_sap.
Based on requirement, in single SAP case or SAP+SAP
case, ACS channel list should be filtered out based
on vendor unsafe channel frequency ranges.

Change-Id: I583c1bb2583c783858c54e8643fbe1af69d492b1
CRs-Fixed: 3061043
2021-11-15 20:37:12 -08:00
Bing Sun
434f955e91 qcacld-3.0: Restore mlo ap information during reinit
Need save mlo link id and mlo link number information when starting bss.
During reinit, restore mlo link id and mlo link number information.

Change-Id: Ib188cab76d25eae6bb332b3a2ce3deb07825495b
CRs-Fixed: 3039138
2021-10-11 21:49:27 -07:00
Will Huang
5936edf256 qcacld-3.0: Add H2E require flag to extended support rate
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.

Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
2021-09-17 01:18:06 -07:00
Bing Sun
5a436dd523 qcacld-3.0: ARP response dropped at host driver
ARP response dropped at OSIF due to non-availability
of sta entry with MLD address.
Added sta entry in OSIF/HDD context with MLD address.

Change-Id: Iff70197ca5707b88ea80b42a60a2b1fb383f00a9
CRs-Fixed: 3017249
2021-09-09 01:13:38 -07:00
Surya Prakash Sivaraj
6fb7b93c61 qcacld-3.0: Cleanup usage of csr_roam_profile in SAP module
Remove the usage of csrPersona from csr_roam_profile
and the unused wlan_sap_get_roam_profile function.

Change-Id: Ic7621c5e178a141b7e6e9d820d71fadfbff071ed
CRs-Fixed: 2998988
2021-07-26 11:35:14 -07:00
Utkarsh Bhatnagar
1f0cb49790 qcacld-3.0: Remove unused params from struct sap_config
Remove unused params from struct sap_config.

Change-Id: I1c7045d8ac32d848cc07c5ae3b70b96cf65a934a
CRs-Fixed: 2989769
2021-07-14 10:32:38 -07:00
Liangwei Dong
a97eee4294 qcacld-3.0: Use target BW 80Mhz for Pre CAC on 5G
At present the pre CAC is done based on original SAP's BW,
but usually the original SAP is on 2G and BW <= 40Mhz. The
requirement from user is to have higher BW on 5G. Hence, select
higher BW supported by SAP phymode to do pre CAC and move 2G
SAP to 5G pre CAC channel when pre CAC done successfully.
Also set the default MAX bw pre CAC to 80Mhz based on current user
request.

Change-Id: I3115da8eb649238da50b223c2587db96125ec813
CRs-Fixed: 2984084
2021-07-07 09:11:18 -07:00
Abhishek Ambure
1d037f5650 qcacld-3.0: Reset cac state before precac sap start
Host creates a precac adapter and uses it for all the precac
request instances from userspace. To avoid cac state impact
of previous instance on current precac request, reset the
cac_state before starting a prepcac adapter.

Change-Id: I8bb7a2d10350eeeafaac9bea60947a52a1e8686e
CRs-Fixed: 2970505
2021-06-28 12:24:24 -07:00
Jyoti Kumari
486100d756 qcacld-3.0: Don't use utils_dfs_mark_leaking_ch()
As part of regulatory cleanup, remove utils_dfs_mark_leaking_ch()

Use utils_dfs_mark_leaking_chan_for_freq() instead of
utils_dfs_mark_leaking_ch()

Change-Id: I796de0abb50fdbdf9d61768a190553e031a7989e
CRs-Fixed: 2972007
2021-06-24 07:21:39 -07:00
Liangwei Dong
3ad4f9d78b qcacld-3.0: Handle DFS channel radar history get vendor command
Add support for QCA_NL80211_VENDOR_SUBCMD_GET_RADAR_HISTORY vendor
command. This command will return the current NOL list in driver
and the last Radar detection result in previous SAP active state
(includes CAC state).

Change-Id: I719630c39b89c1813ca05c4356dce627d72d82e2
CRs-Fixed: 2966501
2021-06-21 11:12:53 -07:00
Liangwei Dong
9a7ab6fe1d qcacld-3.0: Refine SAP force SCC target channel bandwdith selection
Merge the bandwidth selection of the two API
wlansap_get_csa_chanwidth_from_phymode &
wlan_sap_get_concurrent.
Update 5G Force SCC target Max BW selection for dbs hw:
1. Max BW 80Mhz if sta_sap_scc_on_dfs_chan = 1 and Single SAP
2. Max BW 80Mhz if sta_sap_scc_on_dfs_chan = 0 and STA+SAP SCC
3. other case use User configured BW

The above Max BW value will be limited by SAP user configured
BW at the end.

Change-Id: I1b165d1411288ca6845f90103adbf8bbfc34f67d
CRs-Fixed: 2925750
2021-05-06 08:32:44 -07:00
Gururaj Pandurangi
900c3acdac qcacld-3.0: Remove all wlan_reg_chan_has_dfs_attribute instances
Use wlan_reg_chan_has_dfs_attribute_for_freq API to check DFS
attribute flag instead of unused wlan_reg_chan_has_dfs_attribute
API as part of regulatory clean-up effort.

Change-Id: I7ff75f56ebd641d500c365f756526b787986dcbe
CRs-Fixed: 2908159
2021-04-13 18:53:43 -07:00
Gururaj Pandurangi
9996bc7175 qcacld-3.0: Remove feature flag WLAN_FEATURE_11W for pmf
Remove all of the conditional compilation for pmf since this
feature is mandatory for future scope from protocol point
of view.

Change-Id: Id3a2127e9ecb343ad2a0354dcbc331c22167d7fb
CRs-Fixed: 2852630
2021-03-18 00:39:42 -07:00
Utkarsh Bhatnagar
9f9dc3d5ee qcacld-3.0: Cleanup the tCsrRoamConnectedProfile params
Cleanup the tCsrRoamConnectedProfile params

Change-Id: I6c6f9a8888eebc320191c88020a8ec19cd32c998
CRs-Fixed: 2896190
2021-03-10 19:12:16 -08:00
Yu Wang
d91ac3bd8e qcacld-3.0: increase the max supported number of MAC ACL
Extend type of the variables for the number of MAC addresses
in ACL, from 255(uint8_t) to 65535(uint16_t).
With this change, it can support up to 65535 MAC addresses in
theory, after modifying the MACRO 'MAX_ACL_MAC_ADDRESS'.

Change-Id: I32288e46ea4590ebaaa143b2cdca7cefd14997c4
CRs-Fixed: 2856707
2021-01-27 21:50:52 -08:00
gaurank kathpalia
dc7cca8a80 qcacld-3.0: Add connection manager Logic for connect resp from LIM
Add connection manager Logic for connect resp from LIM.

Change-Id: Ifea77cd839d5f21f50b03f833fd0daa8a1cd8bdd
CRs-Fixed: 2846957
2020-12-31 20:53:04 -08:00
Jianmin Zhu
e0fc4e83f2 qcacld-3.0: Fix treating channel id as frequency issue for SAP
There are CSA IE/beacon template cmd with duplicate IE COUNT: 10.
And interval of 2nd IE COUNT: 10 and IE COUNT: 9 is much less than
100 ms.
Radar is triggered,  tried to switch to channel 11, but set
target chan id 11 as frequency 11 wrongly,   frequency 11 is illegal
and disabled, then switch to new freq: 2412 again.

Change-Id: Id2e5823795ae2f61e6d7cbbbc91c4f485ddeceb3
CRs-Fixed: 2838113
2020-12-17 23:45:46 -08:00
Bapiraju Alla
549f5cb438 qcacld-3.0: Fix deadlock when SAP interface down during pre_cac failure
While pre cac is in progress and if the SAP is stopped from UI, It may
lead to dead-lock due to rtnl lock. This is because, stopping SAP will
trigger the stop_ap first and then hostapd_stop. Stop_ap will schedule
a work to handle pre_cac failure (Thread1). hostapd_stop will be
triggered in parallel (Thread2). This will result in a below dead-lock
scenario.
   Thread1: Waiting to acquire rtnl_lock to unregister pre_cac adapter.
   Thread2: Acquired the rtnl_lock and waiting for Thread1 to complete

To resolve this dead-lock, unregister pre_cac_adapter during
hostapd_stop without requesting for rtnl_lock.

Change-Id: I222df9ee0d75b16f79c28b7cdd86369c340a15c2
CRs-Fixed: 2832256
2020-12-15 05:49:55 -08:00
Lincoln Tran
b18e7854bf qcacld-3.0: Add check for passive channel for SAP
Add a check for passive channels when checking the restricted
bands on SAP. This change blocks SAP from restarting on a passive
channel.

Implement the function to filter out passive channels from the PCL.

Change-Id: I80a4b78c1af77f5bfa68be3163f9e9a78cc6425a
CRs-fixed: 2817589
2020-11-20 16:24:41 -08:00
Utkarsh Bhatnagar
ff006ecb1f qcacld-3.0: STA SAP concurrency changes for DFS channel
Previously, if STA is connected to DFS channel and SAP starts on
Non-DBS HW, then it is forced to start on DFS channel with BW 160 Mhz
irrespective of BW on which STA is connected without CAC.
Even after STA disconnects, SAP remains on DFS channel with BW 160Mhz.
So, scan will be disabled and STA cannot be connected on any channel
other than DFS channel.
If STA is connected on non-DFS channel on 5 GHz and SAP starts, it
will start on non-DFS channel as primary channel with BW 160 Mhz
without CAC. Also, scanning was also allowed when SAP is started with
BW 160 Mhz. This might violate regulatory in case radar comes up while
scanning.
Standalone SAP on DFS channel was not allowed.

To fix this, Force set SCC for non-dbs HW, this way standalone SAP
can come on DFS channel but scan will be disabled in such case and
STA cannot be connected other than DFS channel.
In case STA gets connected to dfs channel in non-dbs HW, then sap
starts only on STA channel with force SCC with BW
MIN(sta_chan_width, CH_WIDTH_80MHZ).
Afterwards, if STA disconnects, restart the AP with BW CH_WIDTH_80MHZ
on safe channel. Scan will be allowed as the DFS master capability is
offloaded to AP with which STA is connected on DFS channel.
Also, if standalone sap starts, then STA connects to DFS channel then
SAP will restart with STA channel frequency and Channel width
MIN(sta_chan_width, 80MHZ).
If standalone SAP starts and then STA connects to non-dfs AP or SAP
starts when STA is already connected to non-DFS AP, then ch_width is
MAX(sta_chan_width, 80MHZ) (5 Ghz) or 20 Mhz (2.4 Ghz).
If STA disconnects during SAP+STA on non-DFS, SAP won't restart unless
the STA was connected on BW 160 Mhz.

Change-Id: I1cebfc79f170c1e4e2710ed747ec804df3d8b441
CRs-Fixed: 2809255
2020-11-05 09:51:03 -08:00
Liangwei Dong
cc9cbfc8de qcacld-3.0: Fix STA+SAP SCC on DFS when sta_sap_scc_on_dfs_chan = 0
When sta_sap_scc_on_dfs_chan = 0, SAP is not allowed to SCC
with STA on DFS channel. Check the SAP target channel DFS flag
considering the target channel bandwidth.

Change-Id: I321c1055574477fe39ca8569f24a4040c8dc1904
CRs-Fixed: 2756518
2020-08-24 03:58:57 -07:00
Lincoln Tran
eb083f3346 qcacld-3.0: Add logic to check if channel is disabled
Currently, when the country code changes, there is no logic
to restart the SAP on a new channel. Add a case to check if
the channel is not allowed, then calculate a new safe channel
and update the SAP restart reason.

Change-Id: I679ce6f72228b431530953a631c8c8afa4597187
CRs-fixed: 2718324
2020-08-17 15:12:09 -07:00
Lincoln Tran
745f9e7d1f qcacld-3.0: Update phymode before starting SAP and STA
Check phymode to verify it is allowed for the current country
before starting SAP or connecting STA.

Change-Id: Ica5e70bbd421c4dc18a34545f63e436bc482fc46
CRs-fixed: 2658294
2020-06-07 12:28:57 -07:00
Bapiraju Alla
498953e600 qcacld-3.0: Update rx retry count in peer stats
Currently, Rx retry count statistic is not supported by firmware.
So host driver also not updating the corresponding statistic in
peer stats. Datapth is updating this counter using retry bit in the
rx MPDU. Update peer Rx retry count value from data path.

Change-Id: I4fd422faa7a766090991c461cd6fd2cc70d2fcc3
CRs-Fixed: 2691704
2020-06-01 23:13:20 -07:00
Utkarsh Bhatnagar
0deba7575b qcacld-3.0: Clean up wlan_sap_set_vht_ch_width
Remove wlan_sap_set_vht_ch_width as it wasn't
used anywhere.

Change-Id: I556269bfeb4df243720397a6ad2500b90bc8835d
CRs-Fixed: 2695940
2020-05-28 17:28:44 -07:00
Lincoln Tran
9faaae1bb7 qcacld-3.0: Cleanup instances of CFG_COUNTRY_CODE
Remove instances of CFG_COUNTRY_CODE and country_code from
wlan_mlme_reg struct.
Remove redundant country code APIs.

This change is needed because the country code is no longer
stored in CFG file, and subsequently, there is no need for
CFG_COUNTRY_CODE.

Change-Id: Ia4b3b40d0dccfde696352967f2902dfba344a445
CRs-Fixed: 2634079
2020-05-08 18:50:54 -07:00
Li Feng
865036ff4f qcacld-3.0: Take account of dfs cac state to determine dfs_cac_block_tx
Regarding to the go+sap scc on dfs channel, sap can follow with go
to the same dfs channel, but sap tx is hung.
Since the host set the dfs_cac_block_tx by mistake when ap started,
though the ap skip the cac because the scc go finished the cac
procedure, then dfs_cac_block_tx has no chance to be reset.

The fix is to take account of dfs cac state to determine the proper
dfs_cac_block_tx.

Change-Id: I7a35225711f587b83d2fc381108d7d3f15893867
CRs-Fixed: 2631457
2020-04-27 21:31:50 -07:00
Qun Zhang
b4e2c33bab qcacld-3.0: Replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.

Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
2020-03-25 07:08:36 -07:00
Huashan Qu
1b3be2948e qcacld-3.0: dynamic channel switch implementation
When dynamic channel switch is enabled, trigger acs and switch to best
channel if wlan interference is found in 5g mac.

Change-Id: I56661f5c42a233a0dc0a6400d75cb8f5c0019706
CRs-Fixed: 2599176
2020-02-28 05:55:45 -08:00
gaurank kathpalia
26f0276d8a qcacld-3.0: Combine and print channel for ACS and roam channels
Combine and print channel for ACS and roam channels, instead
of printing one channel at a time.

Change-Id: I398678e1843849bdf4f4c72f0315c626c97438a6
CRs-Fixed: 2623805
2020-02-19 06:23:25 -08:00
Yue Ma
cc35052654 qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for HDD layer
CRYPTO_SET_KEY_CONVERGED is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag in HDD layer
and SAP module.

Change-Id: Ic92e44e53c63ba2752907ace3ffc0f55d18470e2
CRs-fixed: 2593520
2020-01-08 11:30:29 -08:00
Liangwei Dong
0527617342 qcacld-3.0: STA+SAP 6Ghz concurrency
When SAP is on 5G and STA connects to 6Ghz AP, the "force
SCC" logic will move SAP to STA home channel if SAP is 6Ghz capable.
If SAP is not 6Ghz capable, SAP will be moved to 2G (DBS) to
avoid MCC(5G+6G) for DBS HW and SAP will stay on 5G for non-DBS HW.
SAP is 6Ghz capable only when all of below statements are true:
a. SAP config includes WPA3 security - SAE,OWE,SuiteB.
b. SAP is configured by ACS range which includes any 6G channel or
   configured by 6G Fixed channel.
c. SAP has no legacy clients (client doesn't support 6G band).
   legacy client (non 6ghz capable): association request frame has no
   6G band global operating Class.

Change-Id: I7e9723fd1b679326a3df61932850589e6e503f3d
CRs-Fixed: 2593569
2019-12-27 11:22:38 -08:00
Arun Kumar Khandavalli
3801c4f263 qcacld-3.0: Use stop adapter during SSR
Presently, during Subsystem Restart(SSR) the object references
are not released cleanly, invoke stop adapter during the SSR
to have common functionality between the netdevice going down
and SSR.

Change-Id: I2980379022f62ef27dea92868c8033c087544d50
CRs-Fixed: 2587443
2019-12-23 11:42:51 -08:00
Liangwei Dong
10054b9f9e qcacld-3.0: Channel to Freq conversion for channel overlap API
Use frequency as parameter for channel overlap handling
APIs - csr_check_concurrent_channel_overlap,
csr_calc_chb_for_sap_phymode, csr_get_ch_from_ht_profile,
csr_handle_conc_chnl_overlap_for_sap_go.

Change-Id: Ie3c9d466f21d7313998328432c063b1f6c7e5d0f
CRs-Fixed: 2577706
2019-12-23 09:35:06 -08:00
Jianmin Zhu
e75eb51af1 qcacld-3.0: 5G SAP failed to channel switch for sta connecting
When 5G band is disabled by set band,  need SAP switch channel
to 2G. When 5G band is enabled again, need SAP switch back to
original 5G channel. When sta connecting, SAP can't switch
channel.

Merge logic of SAP channel switch for band change and for force
scc with sta, both are implemented in:
policy_mgr_check_concurrent_intf_and_restart_sap now.

After sta associate succeed or fail,
policy_mgr_check_concurrent_intf_and_restart_sap is called again
to check and try SAP CSA for band capability change.

Change-Id: I8574209aac3cabb748a8ec05050244f480e1a0e9
CRs-Fixed: 2589021
2019-12-20 03:51:51 -08:00
Jianmin Zhu
61d502d966 qcacld-3.0: SAP CSA from 5G to 2G for modem N79
For SAP/P2P GO on 5G, when receive cmd to disable 5G band when
modem n79 band used, will move to 2G band via CSA.
1. If no active connection on 2G, select ch by safe list, or
channel 6.
2. If there is STA on 2G, force scc with it.
3. If there is SAP/GO on 2G, force scc with it.
4. Handle one race condition that if candidate is already
selected & FW has gone ahead with roaming or about to go ahead
when set_band comes, it will be complicated for FW to stop the
current roaming. Instead, host will check roam sync to make sure
the new AP is on 2G, or disconnect the AP.
5. If 2 SAP on 5G, move both to 2G and keep scc.

When Set band to enable 5G band again, restored all 5G SAP/Go..

Change-Id: I9b2b1ead3b4502022aeefc08359037457bb051f9
CRs-Fixed: 2580204
2019-12-09 13:54:16 -08:00
Tushnim Bhattacharyya
6c40b112ce qcacld-3.0: Replace channel id with frequency in ecsa indication
Replace channel ID with channel frequency in ecsa indication flow.

Change-Id: I1dd3148566e1da37a6f3fa71f1887e66f87f5d1c
CRs-Fixed: 2555384
2019-11-14 06:00:26 -08:00
Liangwei Dong
0e18c47d0c qcacld-3.0: Change channel to Frequency for acs_cfg fields
Change vht_seg0_center_ch and vht_seg1_center_ch in acs_cfg
struct to vht_seg0_center_ch_freq, vht_seg1_center_ch_freq
respectively.

Change-Id: Ie3378376e6f31c239157c8eaaf3ceb22d2e35073
CRs-Fixed: 2564065
2019-11-13 06:52:58 -08:00
Liangwei Dong
50d12dc273 qcacld-3.0: Convert to freq for acs->start_ch
Change acs->start_ch and acs->end_ch to acs->start_ch_freq
and acs->end_ch_freq respectively.

Change-Id: I105cd618970c739340df29d58f635d01a68754d2
CRs-Fixed: 2564018
2019-11-13 06:52:51 -08:00
gaurank kathpalia
92b81ceb99 qcacld-3.0: Convert primary, secondary channel for acs cfg to freq
Convert primary, secondary channel for acs cfg to freq as part
of ACS 6Ghz changes.

Change-Id: I4f6220b39dae91df070b0764fa8b048cdc6ad00f
CRs-Fixed: 2555988
2019-11-13 06:52:36 -08:00
gaurank kathpalia
aa252b5ea2 qcacld-3.0: ACS changes for 6ghz support
Driver ACS changes for 6Ghz channel support

Change-Id: I3d01f8aeda10037175588690100762d6a7e00f2c
CRs-Fixed: 2555901
2019-11-01 08:16:57 -07:00
gaurank kathpalia
924b2a764a qcacld-3.0: ACS changes for 6ghz support
Driver ACS changes for 6Ghz channel support.

Change-Id: I94cc834a9fdd5cfe54e4dcc09aba0253de6b2a39
CRs-Fixed: 2555187
2019-10-29 19:23:44 -07:00
Tushnim Bhattacharyya
faa9c0114a qcacld-3.0: Replace channel id with frequency in sap
Replace channel ID with channel frequency in sap for channel
switch flow.

Change-Id: I3e7bf0e6d84604223c1791ccfd3d95d1ff5f2992
CRs-Fixed: 2554468
2019-10-29 16:44:43 -07:00
Will Huang
4b097f5add qcacld-3.0: Replace channel number by channel frequency
To support 6Ghz channel, update channel number of struct
sap_StartBssCompleteEvent_s, hdd_ap_ctx and sap_ch_selected_s.

Change-Id: I19e6d7d03072135abed25e077e8573b5326ddba8
CRs-Fixed: 2519308
2019-10-16 10:07:17 +08:00
gaurank kathpalia
47d668219b qcacld-3.0: Use policy mgr safe ch list in ACS
Currently the driver uses a global safe channel
list, and also keeps another safe channel list in
policy mgr which results in duplicate copies
of the same thing.
Also there are many possible issues which are seen
if the global list implementation is used.

Issue 1:-
The global unsafe ch list is maintained for each
channel and is updated as part of ACS scan cb.
So if a user does ACS again and again ( SAP on off)
then the result of unsafe channels of the previous
ACS request would be updated as part of the ACS cb
of the new ACS scan request.
In the function of sap_get_freq_list, the driver
filters out the channels which are unsafe, and the
same channels are not chosen as the best channel for
SAP operation.
Now the filtration of the channels would happen
according to the previous ACS request, and the driver
would remove the channels from the ACS scan list.
But those channels were unsafe when the previous ACS
happened, and may not be unsafe now, and can be used
to turn on the SAP (can be chosen as the best channel)

Issue 2:-
If the channels are truly unsafe, then the driver
filters out the channel in the function sap_get_freq_list,
and do not chose them for the SAP.
It may happen that the channel list that the driver
preferred as part of do acs becomes unsafe, and the
channels that were unsafe at the time of do acs becomes
safe while the driver was scanning the ACS channels to
find other APs.
Now since the channels that were unsafe at the time of
ACS req are safe now, they could have been chosen as the
best channel but they were not scanned, so the ACS channel
weight of these channels would remain maximum, and they
would be sorted at last of the sorted list.
Also the channels that were as part of the ACS channels list
became unsafe, hence the driver would also assign maximum
weight to them, and they would too become unusable channels.
This would result in all channels having the same weight that
is maximum weight, and so the sorting algorithm does not have
to sort any channel now since all of the weights are same.
The first channel in the sorted list would be channel number
1 of 2.4Ghz, and would get chosen, but this may not be
correct if the HW mode is 5ghz only.

Fix:-
Safe and unsafe channels can be checked by using
policy mgr safe channel list too, so it is better
to keep just one unsafe channel list.
The driver would not filter out the unsafe channels
for ACS scan, and would filter out the unsafe channels
as part of the ACS scan done callback.

Change-Id: Ief236db9e73864e5cb2d290a8106799f9e80f82d
CRs-Fixed: 2530241
2019-10-04 00:07:53 -07:00
Hangtian Zhu
9a28ed0437 qcacld-3.0: Enable configurable dfs_pri_multiplier
Enable configurable dfs_pri_multiplier. The ETSI typ2 type3 radar
detection ratio is lower than expected(>80%) while channel loading is
high(>30%). The host improvement for this are:
	1. Add configurable dfs_pri_multiplier, controlled by
	   DFS_PRI_MULTIPLIER. Default value 2, min 1, max 10.
	2. Lower adrastea ETSI type 2/3/4 radar filter rssi_threshold,
	   controlled by DFS_OVERRIDE_RF_THRESHOLD, dfs log shows that
	   QCS405 target report RSSI range [18, 45] while radar power
	   is 3 dbm. By using default rssi_threshold 24 will reject
	   many radar pulses, which leads to low detection ratio.
	3. Calculate deltapri for each searchpri based on dfs_pri_multiplier
	   in dfs_count_the_other_delay_elements(), check deltapri
	   between [1, dfs_pri_multiplier] * refpri and searchpri, if
	   the primargin is desired, mark it as matched pulse.
	4. Pick lowpri as refpri for the radar filter with
	   rf_ignore_pri_window equals to 0 while DFS_PRI_MULTIPLIER is
	   enabled. Observed original findref logic has some problems
	   which selects refpri is bigger than lowpri, which leads to
	   the lowpri pulses pri_match are set to 0, and in this case,
	   radar was not detected. Example for the issue, assume
	   rf->rf_pulseid 34 (ETSI type 2) has 7 pulses with pri:
	   1489, 2978, 2978, 2978, 1489, 2978, 1489 us in this case,
	   highscore is 4 (2978), scoreindex is 5, refpri is 2978, which
	   leads to: index 0, 4, 6 pulses with pri_match 0 in
	   dfs_count_the_other_delay_elements(). The fix is to select
	   lowpri as refpri(1489 in this case).

Change-Id: I1f3ca3298c9ab1f1e2651ad6b4a0a4810f83f8a1
CRs-Fixed: 2522506
2019-09-25 06:14:10 -07:00
gaurank kathpalia
081c66cfde qcacld-3.0: Free Sap acs ch list memory in stop adapter
Currently the SAP memory is not freed as part of stop
adapter as the sap ctx is mem zero in deinit ctx, hence
the addr to free in NULL
Fix is to extract the the sap config from adapter and
then free the sap ch list memory from it.

Change-Id: I8c0bf66765c34f0936d694d260ce1544791beecc
CRs-Fixed: 2530985
2019-09-19 13:36:51 -07:00
Kiran Kumar Lokere
229212a653 qcacld-3.0: Refactor SAP module to use channel frequency
Update SAP data structures to use channel frequency values instead
of using the channel id values to support 6GHz channels in SAP.

Change-Id: I9ef5857e8dcf3f7d879495d3f3c3ead083fe0bf0
CRs-Fixed: 2513083
2019-09-18 22:53:37 -07:00
gaurank kathpalia
11bc67c606 qcacld-3.0: Clear sap ctx channel list in undo acs
Currently the sap ctx's channel list is not freed
as part of undo acs, and hence can lead to mem leak
when the do acs and SSR is triggered in parallel.
Scenario:-
1. Turn on SAP
2. Do SSR in parallel
3. Unload WLAN

Fix is to clear the channel list as part of undo
acs.

Change-Id: Ie8dcace1d32aeec2621e785d793290d70c194f62
CRs-Fixed: 2511752
2019-08-29 02:53:46 -07:00