Commit Graph

315 Commits

Author SHA1 Message Date
Utkarsh Bhatnagar
6664a74b45 qcacld-3.0: Fill op and ext rates in LIM
Fill operational and extended rates in LIM
instead of CSR as part of connection manager.

Change-Id: I9197e835703059d61bc67897a9670ff166460318
CRs-Fixed: 2892415
2021-03-05 07:32:00 -08:00
Wu Gao
e3fe4c6e34 qcacld-3.0: Fix compilation issue about TDLS
TDLS function - mlme_set_tdls_chan_switch_prohibited redefinition
when TDLS feature disabled. This change uses FEATURE_WLAN_TDLS to
avoid compilation issue.

Change-Id: I44ea613ba9112cfcd950c1130ba0d3125293e481
CRs-Fixed: 2838339
2021-03-04 01:43:53 -08:00
gaurank kathpalia
758f6c8bc3 qcacld-3.0: Refactor the roaming code
Refactor the roaming code by moving to component.

Change-Id: I566967482ec3eb0d15d3ff357855b58b9579d3cf
CRs-Fixed: 2887126
2021-02-26 11:50:20 -08:00
gaurank kathpalia
006888171e qcacld-3.0: Move ESE channel list code to connection manager
Move ESE channel list code to connection manager.

Change-Id: I885ba96eaff435a8f3f4366d6d201e6f2d648e6e
CRs-fixed: 2885327
2021-02-25 01:48:47 -08:00
Deeksha Gupta
a3ca2a725e qcacld-3.0: Block the TWT setup till notify event is received
Currently, TWT setup is allowed after roaming even if
TWT notify from firmware is not received.

Block the TWT setup till notify event is received
from firmware.

Change-Id: Ia6ff8fe9e05f32ddf6dbdd608d9090b612237f26
CRs-Fixed: 2870610
2021-02-17 11:13:04 -08:00
gaurank kathpalia
7a29ff5f90 qcacld-3.0: Fill extra params for connect
Fill extra params such as join timeout etc. in LIM
for connection manager path.

Change-Id: I3c12e49023ce04c6b8d2f6c41d128ed9fc93a441
CRs-Fixed: 2879094
2021-02-17 11:12:59 -08:00
Lincoln Tran
746140e284 qcacld-3.0: Migrate validate beacon interval API
Move the beacon interval validation logic from the CSR module to the
interface manager module.
Add a path to send events to the SAP event handler from the MLME
module.

Change-Id: Ia86f219b3f209b53e7818a80f95b2c0555550736
CRs-fixed: 2796676
2021-02-17 02:10:13 -08:00
Abhishek Ambure
780908d5be qcacld-3.0: Move wait for key timer to mlme priv vdev
Move wait for key timer logic to mlme priv vdev. Thus host handles
wait for key per vdev.

Change-Id: Idfc7e7e17ec631a0a364c75b1bac992f1a4d1872
CRs-Fixed: 2870707
2021-02-10 10:11:25 -08:00
Lincoln Tran
e0db05e0fd qcacld-3.0: Add INI for TPE preference
When the TPE IE comes to driver, there could be information for both
local and regulatory. Add an INI for preference in the case that both
sets are present.

Change-Id: I4b37123569f422863fc805063974c65878a9baea
CRs-fixed: 2854774
2021-02-05 02:50:23 -08:00
gaurank kathpalia
2fb03473aa qcacld-3.0: Use is wps/osen from the connect req/rsp
Use is wps/osen from the connect req/rsp, instead of parsing
the assoc ie and deciding the value.

Change-Id: I628c8aab22d1e842219b8d38fd025299d91cc68f
CRs-Fixed: 2868657
2021-02-02 15:17:37 -08:00
Balaji Pothunoori
e64a36609f qcacld-3.0: addba request reject for peer ap
Add user controlled rx addba request reject for peer AP based
on ini configuration.

Change-Id: I80a4b78c1af77f5bfa68be3163f9e9a78cc64245
CRs-fixed: 2835511
2021-01-29 12:40:34 -08:00
Abhishek Ambure
467050ebbd qcacld-3.0: Save hlp info in mlme priv
Host moves hlp info from csr session to mlme priv object. Modules need
hlp info now use hlp info from mlme priv object

Change-Id: Ieffa749635239f72337af685707acccfd666a58a
CRs-Fixed: 2862315
2021-01-27 17:11:25 -08:00
gaurank kathpalia
bc30a451a3 qcacld-3.0: add support for WPS in connection manager
add support for WPS in connection manager.

Change-Id: I07433d4b885d752aab94757062e0cfda35323ff4
CRs-Fixed: 2858788
2021-01-20 21:43:14 -08:00
Yu Wang
7d8cd82cfb qcacld-3.0: add ini for setting oui based aggr size
Add ini 'cfg_tx_iot_aggr', it gives an option to
configure Tx aggregation size in no. of MPDUs/MSDUs
for specified OUI. This can be useful for IOT issues.

Format of the configuration:
  cfg_tx_iot_aggr=<OUI-1>,<MSDU-1>,<MPDU-1>,<OUI-2>,<MSDU-2>,<MPDU-2>...
  MSDU/MPDU means the max tx aggregation size in no. of MSDUs/MPDUs,
  0 means not specified.

For example:
  cfg_tx_iot_aggr=112233,2,0,445566,3,32,778899,0,64
  If vendor OUI-1("\x11\x22\x33") is found in assoc resp,
    set tx amsdu size to 2;
  If vendor OUI-2("\x44\x55\x66") is found in assoc resp,
    set tx amsdu size to 3, set tx ampdu size to 32;
  If vendor OUI-3("\x77\x88\x99") is found in assoc resp,
    set tx ampdu size to 64.

Change-Id: Idcf370a4bf93ca299ce1126eaba4394be1ab5b9d
CRs-Fixed: 2849203
2021-01-20 10:06:21 -08:00
gaurank kathpalia
d077fd57db qcacld-3.0: Fill RSN IE in LIM for connection manager
Fill RSN IE in LIM if profile is RSN.

Change-Id: I86b2bfcf554bea8c0ac860be2eb49c613c5ee041
CRs-Fixed: 2858412
2021-01-20 05:57:01 -08:00
Rajasekaran Kalidoss
8ad0440a66 qcacld-3.0: Change TWT nudge to asynchronous command
Change TWT nudge command to be asynchronous. Handle wake
time tsf field in the nudge command response.

Change-Id: I22c75a42bf60f52f52d7d7fe19f408ebb55f360a
CRs-Fixed: 2847173
2021-01-20 05:56:52 -08:00
Pragaspathi Thilagaraj
ef10a16a2a qcacld-3.0: Add support for TWT session state in status query
Add support to include the session state in TWT status query
response. Session state is set to active once setup is
complete and when resume response event is received from
firmware. Session state is suspend when suspend response
event is received from firmware.

Change-Id: I1f47947c05f80bd85199fd81b951dc54deacdc09
CRs-Fixed: 2854500
2021-01-20 05:56:48 -08:00
gaurank kathpalia
64449a8609 qcacld-3.0: Move code from CSR to new RSO structs part 3
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: I418be56d452389a9f7b8d48e28f793567e81767a
CRs-Fixed: 2857606
2021-01-19 12:57:33 -08:00
gaurank kathpalia
85f376f0a9 qcacld-3.0: Move code from CSR to new RSO structs part 2
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: Ic67be46bd33930cdacc49e2e410a5e1ae7b303ee
CRs-Fixed: 2857319
2021-01-18 21:45:21 -08:00
Pragaspathi Thilagaraj
fa947de7a3 qcacld-3.0: Reject back to back TWT commands
Don't allow TWT commands back to back till response for
existing command is not received.
Reject the new command till the existing command completion
event is received from firmware. Allow TWT teardown when
any other command is in progress after TWT setup is complete.

Change-Id: I9282230c7cb24691b44ddfd273972272fd80f44b
CRs-Fixed: 2853515
2021-01-17 13:30:31 -08:00
gaurank kathpalia
157bb417c2 qcacld-3.0: Remove unused params and functions
Remove unused params and functions due to connection manager.

Change-Id: Ie1fd0031abce0c97f82b221ed43f10609f6dac7a
CRs-Fixed: 2856577
2021-01-17 14:56:27 +05:30
Pragaspathi Thilagaraj
1a9311161a qcacld-3.0: Create TWT context in peer private object
Create TWT context in peer object to store the TWT session
related parameters. Introduce mlme api to get/set various
twt session parameters for the peer.
Block the below commands till TWT setup is complete.
TWT GET
TWT Pause
TWT resume
TWT terminate

Add new files for TWT specific functionality in MLME component:
components/mlme/core/inc/wlan_mlme_twt_api.h
components/mlme/dispatcher/inc/wlan_mlme_twt_public_struct.h
components/mlme/dispatcher/inc/wlan_mlme_twt_ucfg_api.h
components/mlme/core/src/wlan_mlme_twt_api.c
components/mlme/dispatcher/src/wlan_mlme_twt_ucfg_api.c

Also return error to userspace if back to back TWT setup
command is received before TWT setup response is received from
firmware or already TWT setup is complete for given dialog id

Change-Id: I61e24dd41dc9dcb78fdfe33ef8fa0ecb374a4a72
CRs-Fixed: 2847213
2021-01-15 10:25:32 -08:00
gaurank kathpalia
e484040fb0 qcacld-3.0: Move code from CSR to roam scan offload to new structs
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: Ie69a88f419d38ec611b4dc18ed15d7eb1f53e1ae
CRs-Fixed: 2853488
2021-01-13 22:24:19 -08:00
gaurank kathpalia
8e098a3412 qcacld-3.0: Replace CSR API with connection mgr API part 4
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: I22f83727e4b2e6f6b7258ef41f8595e789015a58
CRs-Fixed: 2853089
2021-01-13 04:42:57 -08:00
Pragaspathi Thilagaraj
c4ebe66ee5 qcacld-3.0: Advertise TWT capability if "enable_twt" ini is true
Currently in SAP and STA mode the driver advertises TWT
capabilities in the HE capabilities IE based on the below ini
values irrespective of the master ini "enable_twt" to enable
the twt feature:
"he_twt_requestor","he_twt_responder", "he_bcast_twt",
"he_flex_twt_sched".
So even with the ini is disabled, twt capabilities are advertised

Advertise TWT capability only if "enable_twt" ini is true.

Change-Id: Iae3a98ee339f3859391e0deb64ddd354634b0cbf
CRs-Fixed: 2844516
2021-01-12 17:44:26 -08:00
gaurank kathpalia
c86ce01b74 qcacld-3.0: Replace CSR API with connection mgr API part 3
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: Id4b92ba5db10935b5deccdacd72218d4a087c61d
CRs-Fixed: 2852437
2021-01-11 15:13:25 -08:00
gaurank kathpalia
130e95060d qcacld-3.0: Cleanup the struct sCsrNeighborRoamControlInfo
Cleanup the struct sCsrNeighborRoamControlInfo and move params in
vdev ext object.

Change-Id: If5a490c68137622838afc831a4da0e1da7fa49c4
CRs-Fixed: 2850991
2021-01-08 23:30:34 -08:00
gaurank kathpalia
835437cad6 qcacld-3.0: Add legacy pointer in connection manager context
Add legacy pointer in connection manager context to use for RSO
and other connection manager legacy operations.

Change-Id: Ibc665f53d77aebb3f248fedbdffd1cfe86492b25
CRs-Fixed: 2845980
2021-01-07 23:28:49 -08:00
gaurank kathpalia
6b72d4685b qcacld-3.0: Replace CSR API with connection mgr API part 2
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: Id0ffae005fde5bff69fc486c94c3332872bab786
CRs-Fixed: 2848570
2021-01-07 23:28:45 -08:00
Abhishek Singh
d3cbcc0d30 qcacld-3.0: Remove duplicate struct struct wlan_ies
Remove duplicate struct struct wlan_ies and replace with
struct element_info.

Change-Id: I60d34db5845d840679052912182ea09b86988e43
CRs-Fixed: 2848237
2021-01-06 09:11:53 -08:00
Ashish Kumar Dhanotiya
f90d452bdb qcacld-3.0: Update qos parameters for connection manager
Currently driver does not update qos related parameters for
connection manager connect complete path, add logic to
update qos related parameters for connection manager connect
complete path.

Change-Id: If7d67448710a8f950d5c78ca961cab7884f58d61
CRs-Fixed: 2846591
2020-12-31 00:50:27 -08:00
Ashish Kumar Dhanotiya
68b0198490 qcacld-3.0: Add functions for assoc completion for connection manager
There are few functions which were missing for association completion
for connection manager functionality, add those missing functions
for association completion handler.

Change-Id: Iaca6599921fa73972553a8bd805b2f39ad580407
CRs-Fixed: 2846083
2020-12-30 16:51:08 -08:00
gaurank kathpalia
f8a769a7b6 qcacld-3.0: Add cnx mgr logic for connect and disconnect ext ind
Add connection manager logic to handle p2p/tdls/policy mgr logics
on connect/disconnect start and complete ext indication. And
add the call to csr to update the legacy structs.

Change-Id: I218a1d193dd62ad041e84078bd2509b82ec11363
CRs-Fixed: 2846663
2020-12-30 11:24:34 -08:00
Ashish Kumar Dhanotiya
ee71cc8bd4 qcacld-3.0: Refactor connect complete code
Refactor connect complete code and move common code
for connection manager and legacy path to a common function
to remove the duplication of the code.

Change-Id: I25e39635005efd9ad19174e9f26d009946912cdb
CRs-Fixed: 2842413
2020-12-28 13:06:46 -08:00
sheenam monga
a3c734decb qcacld-3.0: Update doc of vdev start resp handler
Update documentation of vdevmgr_vdev_start_rsp_handle
function.

Change-Id: I948e38fd94846500573e93d40577f066d0670f27
CRs-Fixed: 2840561
2020-12-17 15:41:32 -08:00
Subrat Dash
fec051ecae qcacld-3.0: Add support to enable TWT roles
There are cases where only a few TWT roles may be required
to be enabled. For example TWT Requestor role alone or
TWT Respondor role alone. Also, it could be unicast TWT only
and disable broadcast TWT.

Support broadcast TWT  configuration in requestor and responder
role by adding new INI.
Extend the use of existing requestor and responder INIs to further
enable requestor and responder roles itself.

Change-Id: I3dfa196edfda9cafd01fa56c0bb6ce73e27b4144
CRs-Fixed: 2828718
2020-12-14 09:29:44 -08:00
Jianmin Zhu
ac8b95e887 qcacld-3.0: Clear whole operations bitmap when RSO deinit
To avoid roaming enable failed for operations bitmap set/clear mismatch for
SAP+STA or STA+STA concurrency, clear whole operations bitmap when RSO
deinit, then roaming can be enabled again after STA disconnect and
reconnect.

Add log when set/get operations bitmap to help debug.

Change-Id: Ie1f1a213dcdefb393ec3e1e2c6a8a71ab17b226c
CRs-Fixed: 2834199
2020-12-11 18:49:18 -08:00
Abhinav Kumar
0e0e63194e qcacld-3.0: Update mscs action frame as per spec
Currently, Host sends classifier type and classifier
mask part of TCLAS Mask OPIE only with tag length of
2 bytes.

As per spec tag length for TCLAS Mask OPIE should be 18.
Ext Tag: TCLAS Mask
   Ext Tag Number: TCLAS Mask (89)
   Ext Tag length: 18
   Classifier Type: 4
   Classifier Mask: 0x5f
   Reserved:00000000000000000000000000000000

Fix is to add a reserved parameter in TCLAS Mask OPIE
of length 16 bytes and set it to NULL.

Change-Id: I54cd896a4ffad16581c14fc254575bcec8e6f6d7
CRs-Fixed: 2822616
2020-12-10 06:47:03 -08:00
sheenam monga
dc64913842 qcacld-3.0: CSA count offload to fw in case of AP/P2PGO
Currently, host decrements beacon switch count and sends
channel switch frame every time until count becomes 0 this
may introduce sync issue between fw and host in case fw has
not sent beacons but host decremented switch count due to
timeout and sent new channel switch frame or vdev restart in
case count beacomes 0.

Fix is to offload CSA to fw to avoid any sync issue.

Change-Id: Idb48d419ec4117ff39cb823ca8af75d7a0abc3c0
CRs-Fixed: 2828045
2020-12-08 09:21:26 -08:00
gaurank kathpalia
94cdcf0ddb qcacld-3.0: Add logic to delete bss peer from connection manager
Add logic to delete bss peer from connection manager.

Change-Id: Ic0f53e87525af670f7a87d84d168276bbcd73efd
CRs-Fixed: 2832733
2020-12-07 14:58:29 -08:00
Amruta Kulkarni
3d08c46bea qcacld-3.0: Add ini for STA + Monitor mode
Add new ini "monitor_mode_concurrency" to support this feature
and introduce policy manager api's for concurrency checks.

Change-Id: I35ee1fece0a6f9ae8fe340b0598c4a3e20b17e82
CRs-Fixed: 2814523
2020-11-19 22:45:59 -08:00
gaurank kathpalia
2afb8a6688 qcacld-3.0: Add logic to ignore 6Ghz AP if security is not valid
Add logic to
- Check if connect req freq is 6Ghz and security
  is not allowed for 6Ghz, reject connect.
- Ignore 6Ghz APs if connect req security is invalid
  for 6Ghz

Also added user config key_mgmt_mask_6ghz mask
to allow specific AKMs, by default all are allowed.

Add added user config check_6Ghz_security to enable
security checks as per spec.

Change-Id: Iada7bb685b272e26cff7e89cf64d181ed6eb48a4
CRs-Fixed: 2820358
2020-11-18 07:46:14 -08:00
Jianmin Zhu
355722bcae qcacld-3.0: move ini CFG_VENDOR_ROAM_SCORE_ALGORITHM to cmn
Move ini CFG_VENDOR_ROAM_SCORE_ALGORITHM from qcacld-3.0 to qcacmn part.
from qcacld-3.0: mac_ctx->mlme_cfg->roam_scoring
to qcacmn: mlme_psoc_obj->psoc_cfg.score_config.

Change-Id: I318f0d516ce699c061f268116e1cbf79fcc9e23a
CRs-Fixed: 2806090
2020-11-03 08:35:06 -08:00
Abdul Muqtadeer Ahmed
5f15db8cf5 qcacld-3.0: Avoid memory leak
Memory is created for the mlme legacy pointer during the create
of the mlme legacy priv object. This allocated memory doesn't get
free when an error condition which leads to device crash.

To avoid this problem memory should be freed before returning from
the error condition.

Change-Id: I8aaaf7bf17cf38f70135e5ff00db429c34aff2d8
CRs-Fixed: 2803896
2020-11-02 17:32:31 -08:00
gaurank kathpalia
4cea7d089e qcacld-3.0: Move HE caps to vdev mlme priv
Move HE caps to vdev mlme priv and remove it from csr session.

Change-Id: I3f68aa66cfd1828dea4e46aff1dd758fbfde4a48
CRs-Fixed: 2809092
2020-11-02 08:03:30 -08:00
gaurank kathpalia
e4defd9d16 qcacld-3.0: Add connect and disconnect support in connection manager
Add support for connect and disconnect path
in legacy cld files with respect to connection
manager.

Change-Id: Ia42dd45d943de20d91279c0197b0f17a5c0326eb
CRs-Fixed: 2805807
2020-10-28 15:33:18 -07:00
bings
08d96504db qcacld-3.0: make ini he_twt_requestor and he_twt_responder take effect
INI he_twt_requestor and he_twt_responder should be able to disable/enable
twt requestor and twt responder.

Make them work.

Change-Id: I5e091a2f04cca1817f1a2db6358f141c2eaf103d
CRs-Fixed: 2798800
2020-10-22 04:03:12 -07:00
Abhinav Kumar
94b44452f6 qcacld-3.0: Discard 5G candidates based on RSSI threshold
To discard 5G candidates based on RSSI threshold, Introduce
a new INI "min_rssi_for_2g_to_5g_roam" to configure the RSSI
for High RSSI Trigger.

Min: -120
Max: 0
Default: -70

Change-Id: If4545296ef1b53d18b8ae4abf12d450f5e690240
CRs-Fixed: 2789017
2020-10-20 17:21:29 -07:00
Lincoln Tran
a92a1a0f8b qcacld-3.0: Update default band to include all bands
Currently, QCA_SETBAND_AUTO is backwards compatible, so it is set
to include only 2G and 5G bands. Update this to include 6G bands
as well. Also update the band capability INI to have the default
value 0 include 6G bands.

Change-Id: I98067c18e939ff4c1e7b1e778b020b44409b5b34
CRs-fixed: 2799883
2020-10-19 14:59:02 -07:00
Pragaspathi Thilagaraj
cd22d076ab qcacld-3.0: Add support to send roam scan scheme for the triggers
Add support to handle the nl80211 attribute -
QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME. Send RSO update to
firmware if roam scan scheme value is received via the nl80211
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME over the
QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD subcommand.

Change-Id: If21281245097648380990b9218a722691279f598
CRs-Fixed: 2785256
2020-10-09 06:47:13 -07:00