Commit Graph

637 Commits

Author SHA1 Message Date
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
Aditya Kodukula
a9f651f6ba qcacld-3.0: Rename the flag QCA_WIFI_NAPIER_EMULATION
To make it generic, rename the flag QCA_WIFI_NAPIER_EMULATION
as QCA_WIFI_EMULATION.

Change-Id: I8e654262a38a7a701a5a34e2bbd5394c8985c65a
CRs-Fixed: 2871313
2021-02-05 12:43:51 -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
gaurank kathpalia
ca5b8c897c qcacld-3.0: Add diag events for disconnect and connect complete
Add diag events for disconnect and connect complete for connection
manager.

Change-Id: I71cd968dd14e26cab9178c5bab892520b8d8af8c
CRs-Fixed: 2864507
2021-01-28 13:47:37 -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
Balaji Pothunoori
2442b01eb2 qcacld-3.0: update max tx aggr size for lithium family
Currently user configured tx aggr size "0-64" is not honored in
firmware, By default firmware expects as 256 and its hardcoded.

In order to make user controllable, host has to send default max
tx aggr size as 256 for lithium and 64 for other targets.

Change-Id: I7a69f09d048f79da4c770e71b4d1c8726fa02faa
CRs-Fixed: 2846803
2021-01-21 21:16:38 -08:00
sheenam monga
07ecaebeb7 qcacld-3.0: Use wlan_reg_legacy_chan_to_freq for conversion
Use wlan_reg_legacy_chan_to_freq api for channel to
frequency conversion instead of wlan_reg_chan_to_freq.

Change-Id: I06a2638a1e402dc6a750c672ed803e8dbfa254fc
CRs-Fixed: 2853575
2021-01-21 17:04:23 -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
Rajasekaran Kalidoss
f3b6093c65 qcacld-3.0: Add support to get TWT target capabilities
Add support to get the following TWT target capabilities
1) Nudge 2) all twt and 3) statistics

Change-Id: If74e99b0ff920481bcabb0300129b9067082d113
CRs-Fixed: 2854927
2021-01-20 05:56:43 -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
gaurank kathpalia
5b8392f96c qcacld-3.0: Process connect request for connection manager
Process connect request in LIM for connection manager.

Change-Id: I12b2f174751b17271667cba1347a44dd52782420
CRs-Fixed: 2856458
2021-01-16 10:50:49 -08:00
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
Liangwei Dong
cab9317d71 qcacld-3.0: Change INI sae_connect_retries defalut 0x52
Change "sae_connect_retries" to 0x52 to increase SAE retries:
1 roam auth retry, 2 auth retry and 2 full connection retry.

Change-Id: I5b11dd07abfccfca9529ba9350e326dbf4c23a7a
CRs-Fixed: 2846440
2021-01-13 15:00:03 -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
Liangwei Dong
74222be804 qcacld-3.0: clear pmkid cache when ap off
In AP side power off/on case, AP security has been cleanup.
The STA side might still cache PMK ID in driver and it will always
use PMK cache to connect to AP and get continuously connect failure
in SAE security. This function is to detect AP off based on FW
reported BMISS event. Meanwhile judge FW reported last RSSI > roaming
Low rssi and not less than 20db of host cached RSSI to avoid
some false alarm such as normal DUT roll in/out roaming.

Change-Id: I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb
CRs-Fixed: 2841481
2021-01-11 15:13:30 -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
Srinivas Dasari
a03e7735bf qcacld-3.0: Append vendor specific IEs received to assoc request
wpa_supplicant/framework sends different vendor specific IEs in
connect request. Currently driver is parsing the IEs and appending
specific IEs to the assoc request frame. But all vendor specific
IEs are supposed to be sent in the assoc request. Extract all vendor
specific IEs and append at the end of the frame.
MBO IEs are expected to be present at the end of the frame.
So append rest of the vendor IEs just before MBO IE.

This is a followup change for the change
Ia6423bb43b2ac294541c2485f5ed45d14af6553d to ensure the
"appending vendor IEs to assoc request feature is still intact".

Change-Id: Id788153ceb30c67f7ca9de9f3feea2d610cb21cb
CRs-Fixed: 2851362
2021-01-10 23:53:30 -08:00
Srinivas Dasari
92da7db8e6 Revert "qcacld-3.0: Append vendor specific IEs received to assoc request"
The change I3d49c72a31d142ef3b14b439af2ae4cd8be059ea adds support
to append the vendor IEs received from userspace to assoc request.
But this also fixes a memleak in mbo IE handling. It's better split
these two as the feature(appending vendor IEs to assoc request)
may not be needed on all branches but the memleak fix is needed on
all the builds which support MBO.
So, revert this change and raise these as two separate changes.

Change-Id: Ia6423bb43b2ac294541c2485f5ed45d14af6553d
CRs-Fixed: 2851356
2021-01-10 23:53:19 -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
sheenam monga
bf3630cf7e qcacld-3.0: Enable periodic time sync between host and fw
Enable periodic time sync between host and fw by setting
gRemoveTimeStampSyncCmd to 0.

Change-Id: I52168ad6d065262c433c801716eec0d7782bf6e8
CRs-Fixed: 2845017
2021-01-03 23:49:35 -08:00
sheenam monga
03d4f89464 qcacld-3.0: Use function qdf_snprint for time stamp conversion
Currently for converting timestamp to string qdf_snprintf
function is used which may not print timestamp correctly.

Use qdf_snprint instead of qdf_snprintf to print correct
timestamp provided by fw.

Change-Id: I803f678dc38afc03131e589a820d129dc38380ce
CRs-Fixed: 2835199
2021-01-03 23:49:30 -08:00
Min Liu
45e0741472 qcacld-3.0: Fix iwpriv command getMaxAssoc
Fix the issue that iwpriv command getMaxAssoc act as setMaxAssoc.

Change-Id: I8fddc0ff724147cb55d53b0ce5a918745b3101d3
CRs-Fixed: 2844640
2021-01-03 21:34:48 -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
914dae7d9e qcacld-3.0: Use CFG_BTM_ENABLE to forward BTM request frame
Enable 10th bit of CFG_BTM_ENABLE ini to forward BTM request
frame to upper layers when frame contains MBO assoc retry
attribute. when supplicant receives this MBO frame it will
use the frame info for blacklisting the AP so for the next
connection framework will avoid this AP.

Change-Id: I9a675cc01769c38ad5be26ea5fd28ada8dc03546
CRs-Fixed: 2843323
2020-12-22 16:37:00 -08:00
sheenam monga
24819ec6e9 qcacld-3.0: Update documenation of CFG_BTM_ENABLE
FW considers 9th bit of CFG_BTM_ENABLE for btm query
with candidate list which is not mentioned in ini
documentation.

Change-Id: I4fefdaa464e14c350d885107a28051fa0ad309f0
CRs-Fixed: 2839587
2020-12-22 08:49:03 -08:00
Abhishek Ambure
da2452fdd7 qcacld-3.0: Add lim support for CM disconnect handling
Add support to handle disconnect request via connection manager
in LIM.

Change-Id: I2ead0188368ab75f4862a429d43bf2305ae94abe
CRs-Fixed: 2840792
2020-12-21 23:30:20 -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
Abhinav Kumar
482acb4555 qcacld-3.0: Print roam message info in kmsg
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the roam RSSI TH reset.
This helps in debugging/understanding the scenario when roam
failure happens.
Print the info received related to roam RSSI TH reset into kmsg.

Change-Id: Ibee9fc6e9220511d6679efb24080c79bcd807ab8
CRs-Fixed: 2826321
2020-12-06 23:49:45 -08:00