Commit Graph

1261 Commits

Author SHA1 Message Date
Bing Sun
00740c5de2 qcacld-3.0: Add API to get/set HT20/40 mode for easymesh
Add API to get/set HT20/40 mode for easymesh AP mode

Change-Id: Ic6b06b4bd05003537939a77cdd8daa82d2ecc5fa
CRs-Fixed: 3034726
2021-09-30 10:51:34 -07:00
Sai Pavan Akhil Remella
41300fcf7c qcacld-3.0: Update scan result APIs to map MDID in PMK cache
PMK stale entry will be updated in driver by framework after
disconnection with AP. Since there is no connected profile
in driver no MDID is associated. On new PMKSA addition in
driver it will check for cached entry based on MDID and
remove older one. This commit associates MDID to the cache
entry from the scan result if no connected profile is
present.

Change-Id: I9e8362387a53f622b9c52c4ba994939cabf244aa
CRs-Fixed: 3030376
2021-09-21 09:30:12 -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
Pragaspathi Thilagaraj
100c310363 qcacld-3.0: Set PS config per vdev
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.

To avoid this, set the PS config per vdev.

Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
2021-09-01 14:02:27 -07:00
Utkarsh Bhatnagar
d790174870 qcacld-3.0: Move get qos related API to LIM from CSR
Move get qos related API to LIM from CSR.

Change-Id: I44f32ea6588bebd2205bccf62d2267958884f260
CRs-Fixed: 3017623
2021-08-19 17:34:11 -07:00
Abhishek Singh
e39f095832 qcacld-3.0: Remove unused QOS code from SAP flow
Remove unused QOS code from SAP flow.

Change-Id: I255f28b7dab5a666cf086f8af27d3d04ef791d10
CRs-Fixed: 3016885
2021-08-19 17:34:06 -07:00
Kiran Kumar Lokere
a70df38665 qcacld-3.0: Config support for BTWT and Rx control frame to MBSS
Add configuration support for broadcast TWT support and Rx control
frames to MultiBSS HE capabilities.

Change-Id: I2b3075a21c919c120e7a1ff674ac33fdd5d73801
CRs-Fixed: 2979513
2021-08-18 23:55:00 -07:00
Jyoti Kumari
6209487c3c qcacld-3.0: Disable beamformer for single chain
If there is single chain support then driver should disable
beamformer instead of enable

As part of fix, check the number of chains by intersecting the
firmware capability and ini config. If it is 1 then set
su_bformer, mu_bformer and num_soundingdim as 0

Change-Id: I84434c741cbf774f368657b2c57668f6e7b99991
CRs-Fixed: 3003257
2021-08-18 14:21:01 -07:00
Bapiraju Alla
6874af8035 qcacld-3.0: Fix ac fallback issue when TSPEC id deleted
When TSPEC session is deleted, the access category of the data packets
should be downgraded to next lower AC. But this is not happening due to
acm mask is not getting updated when bss descriptor is NULL.

To fix this ssue, update acm mask from bss descriptor only when beacon
IEs are not present.
Also move qos related logic to LIM and bring missig changes which were
there before connection manager.

Change-Id: I9da80cf492b01762b4cc0a7b73271a0f5fe4b4a4
CRs-Fixed: 3011069
2021-08-18 12:07:53 -07:00
Kiran Kumar Lokere
f4ed112b3c qcacld-3.0: Add support to configure bss max idle period
Add support to configure the bss max idle period for STA.

Change-Id: Ifc56f6513a2b643ab574937c5216b53bdea1d2c5
CRs-Fixed: 2829159
2021-08-05 15:13:22 -07:00
Pragaspathi Thilagaraj
4543b8e423 qcacld-3.0: Update pmk cache only for connected BSSID
In OKC enabled cases, when multiple pmk entries exist, the user
space sends set_pmksa command for BSSID other than the connected
bssid. In that case driver updates the global pmksa cache with
the new PMK received for the non-connected BSSID. This results
in invalid pmk sent to firmware.

To avoid this, update the pmk cache only for connected BSSID.

Change-Id: I006595ea5b913d439007a8fb9d767454a71eeac1
CRs-Fixed: 2937182
2021-07-23 05:34:19 -07:00
Jyoti Kumari
f93a29459a qcacld-3.0: Add support for TWT ack event
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress
4. any other error
then the command needs to be rejected in userspace context

Synchronize the TWT commands so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
   waits for this ack event, respective event with status of the
   TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
   reject the TWT command request in userspace context.

Change-Id: Ib68b89b74b5e44f28106884efd7412cee49f5bd8
CRs-Fixed: 2987978
2021-07-20 11:08:57 -07:00
Arun Kumar Khandavalli
a019216f89 qcacld-3.0: Remove mac address field from the csr session
csr has a mac address field which is redundant, the same can be
retrieved from the vdev object.

Hence remove the mac address field from the csr and update the same
from the vdev object.

Change-Id: I948cf858ddb26795e236aa4099186e5d10f504a6
CRs-Fixed: 2990480
2021-07-20 08:28:18 -07:00
Srikanth Marepalli
0ec902c074 qcacld-3.0: Invalid pmkid in the FT-EAP disconnection case
During FT-EAP roaming after session timeout if the FTIE received
in the EAPOL of full EAP is improper, the supplicant would
disconnect the AP with the reason FTIE mismatch.
During this disconnection supplicant flushes all the existing PMK
cache entries and eventually the framework would add these cache
entries again (apparently, the current entry would be with the
older PMK). On this addition to the driver, there is no connected
profile and thus no MDID is associated to this PMKSA entry(AP1-PMK1).
Further, on the fresh (Full EAP) connection to the AP2 with the
same MDID, a new cache entry gets added and thus MDID from the
connected profile gets associated with the PMKSA cache entry. At
this point of time, there are two PMKSA cache entries (AP1-PMK1
without MDID and AP2-PMK2 with MDID).
Adding further, if the incorrect PMK (without MDID / stale entry)
i.e. PMK1 is given to the firmware on the RSO command for the
specific BSSID (here AP1) during roam, further roams shall be
calculated with this PMK1 and result in to the invalid pmkid
issue.
Thus, avoid this situation by removing that stale PMKSA entry in
the driver and this entry can be deleted only when it is associated
with the MDID. Driver on the new pmksa addition shall check for the
matching pmksa cache entry with the MDID and delete the earlier ones.
To associate the MDID, this commit checks for the same from the scan
entry of the BSSID, if there is no connected profile for the same
(this happened when the framework has added the cache entry when in
the disconnected state).

Change-Id: If81d66059173dda8d7a2940ca10dc96ef16e125c
CRs-Fixed: 2972115
2021-07-14 20:14:22 -07:00
Utkarsh Bhatnagar
7f9ad91112 qcacld-3.0: Move sme_ft_api to connection manager ucfg api
Move sme_ft_api to connection manager ucfg apis.

Change-Id: If710be0d8a4a9d45d37f588389e40f66c62c7487
CRs-Fixed: 2990112
2021-07-14 07:25:23 -07:00
Abhishek Singh
2a28a53ee0 qcacld-3.0: Remove unused functions and structures from CSR
Remove unused functions and structures from CSR.

Change-Id: I0441a74423294cdbe11a906700147fd5cbaad75b
CRs-Fixed: 2989123
2021-07-13 04:11:48 -07:00
Abhishek Singh
bac97712b7 qcacld-3.0: Cleanup crypto params from roam profile struct
Cleanup crypto params from roam profile struct.

Change-Id: Ib3acb7f2ee669ba05da7011a56a54487d5100033
CRs-Fixed: 2988892
2021-07-12 12:09:40 -07:00
Abhishek Singh
15222dc106 qcacld-3.0: Cleanup pCurRoamProfile from csr session
Cleanup pCurRoamProfile and related code from csr session

Change-Id: I58cd74ed82f6bbccbdea3218c83c18dab2a8afb4
CRs-Fixed: 2987926
2021-07-10 02:58:24 -07:00
Abhishek Singh
2b47c7272d qcacld-3.0: Rename CSR/SME function to represent SAP/NDI start/stop
CSR/SME use connect/disconnect API as these were common between
STA/SAP/NDI, but as connection manager removed the STA related code
from SME/CSR, rename the functions to represent NDI/SAP start/stop.

Change-Id: I7875e163f1976627e521308813ad3e1ed279a906
CRs-Fixed: 2981040
2021-07-02 00:33:42 -07:00
Abhishek Singh
a651b893b9 qcacld-3.0: Remove unused params of struct csr_roam_info
Remove unused params of struct csr_roam_info.

Change-Id: I90aeafc9618ca9569769b7d708d4b552c5ef93ae
CRs-Fixed: 2981156
2021-07-01 04:23:56 -07:00
Abhishek Singh
76ff2f706c qcacld-3.0: Cleanup STA specific code from SAP/NAN start bss
Cleanup STA specific code from SAP/NAN start bss.

Change-Id: Iae62d8f01fef297f68ec7836b787b178167f0e69
CRs-Fixed: 2980398
2021-06-29 21:39:07 -07:00
Abhishek Singh
a2c4145a3c qcacld-3.0: Cleanup unused params from csr structs
Cleanup unused params from csr structures.

Change-Id: I8384ad5e8c6a9d7f33ffe9bc1ed5508776f39607
CRs-Fixed: 2980067
2021-06-29 19:14:49 -07:00
Abhishek Singh
1af81f83c6 qcacld-3.0: Code cleanup for unused csr files
Code cleanup for unused csr files.

Change-Id: I15d4e64534c960c7f048f2a7b7bbedac419700da
CRs-Fixed: 2978777
2021-06-28 14:41:29 -07:00
Abhishek Singh
5ca9e12a4e qcacld-3.0: Code cleanup for connection manager MLME/SME
Remove unused code related to ndef FEATURE_CM_ENABLE in MLME/SME.

Change-Id: I022823296d2e186450a1a1082a975eccf0b7c122
CRs-Fixed: 2977907
2021-06-28 14:41:24 -07:00
Abhishek Singh
e9531a9d24 qcacld-3.0: Code cleanup for connection manager CSR
Remove unused code related to ndef FEATURE_CM_ENABLE in CSR.

Change-Id: I156b7ee286f666ee5d660312bf5ba2fe364165c4
CRs-Fixed: 2977584
2021-06-27 23:35:22 -07:00
Utkarsh Bhatnagar
d86ace0aea qcacld-3.0: Vendor cmd to set SW retry threshold value
The following vendor cmd can be used to set the
sw retry threshold per vdev for all AC:

Aggresive:     QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Non-Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY

Change-Id: I49d88ae1f3f6142d8a420fd92f6f40bf3aad03e6
CRs-Fixed: 2945913
2021-06-22 07:54:55 -07:00
Yu Wang
af7b3788a6 qcacld-3.0: add sme interface for requesting channel switch
Add new api sme_switch_channel(), which posts eWNI_SME_CSA_REQ
with specified parameters; set lim_handle_csa_offload_msg as the
handler for this new message.

Change-Id: Id015ac5f9f3674ff06d110f7a0dccd85364b3d86
CRs-Fixed: 2960191
2021-06-17 11:14:03 -07:00
Utkarsh Bhatnagar
d6a03bf7e0 qcacld-3.0: Refactor LFR3 code to use cm api
Refactor csr_roam_pmkid_req_callback to use
mlme_cm_osif_pmksa_candidate_notify and move other
unused API under CM flag.

Change-Id: I835d54804f733eddff48de38e4c545a87f34bb30
CRs-Fixed: 2965602
2021-06-10 10:21:35 -07:00
Jyoti Kumari
4301f71222 qcacld-3.0: Handle SAP TWT concurrency scenario
TWT is allowed only in DBS/Standalone case and not in SCC/MCC.
Handle TWT if any session request comes in SCC/MCC or DBS case
as per below:
1. If TWT session request comes on standalone SAP then peer
   client will initiate the session and not from userspace
   (SAP DUT)
   a. Send twt responder enable command and
   b. Send twt requestor disable command to firmware
2. If session request comes on standalone STA then
   a. Send twt requestor enable command and
   b. Send twt responder disable command to firmware
3. If two vdevs are up and SCC/MCC exist
   a. Send beacon template with twt responder disable command to
      SAP vdev
   b. Send twt requestor disable command to STA vdev
4. If two vdevs are up in case of DBS
   a. Send requestor enable command for STA vdev
   b. Send beacon template with responder enable command for SAP
      vdev
5. If 3 port concurrency comes then
   a. Send requestor disable command to STA vdev and
   b. Send beacon template with responder disable command to SAP
      vdev

Change-Id: I65994702bb72d5006bd66b2ef57a0704a67410f7
CRs-Fixed: 2938961
2021-06-04 00:28:09 -07:00
Ashish Kumar Dhanotiya
6afc566756 qcacld-3.0: Move call to hdd power stats callback inside lock
Currently when host receives power stats from fw, before
processing these stats it check for the hdd callback and
processes these stats only if hdd callback is registered.
This callback is checked in
wma_unified_power_debug_stats_event_handler function before
processing of the fw event and outside of any lock. After
processing stats, this hdd cb is invoked, there is an issue
with this approach that while processing these stats if timeout
happens in hdd then hdd sets its callback as NULL and now after
processing stats wma handler invokes this hdd cb which is already
NULL, leading to null pointer dereference.

To avoid above issue, add sme callback and move null check for
hdd cb and call to hdd cb inside sme lock which is the same lock
used while setting hdd cb to null on timeout.

Change-Id: I2203083a17ca3404c5c5af98ddc48ba127e6aee2
CRs-Fixed: 2950633
2021-06-03 17:06:05 -07:00
Utkarsh Bhatnagar
3a4fb68722 qcacld-3.0: Move unused params of struct hdd_station_ctx to CM flag
Move unused params of struct hdd_station_ctx to CM flag.

Change-Id: Ibcdc47df23937e74ff6558955c9a179371c4d5ae
CRs-Fixed: 2953953
2021-05-27 03:46:35 -07:00
Utkarsh Bhatnagar
045ed44dee qcacld-3.0: Move unused Lfr3 specific item under FEATURE_CM_ENABLE
Move unused Lfr3 specific item under ifndef FEATURE_CM_ENABLE.

Change-Id: I94d5f9d48f5cb853dc3ac9039f6140f23ab620cd
CRs-Fixed: 2953719
2021-05-27 03:46:29 -07:00
Srinivas Girigowda
5a04deba8b qcacld-3.0: Add support for SAP TWT teardown
Add support for SAP TWT teardown.

Change-Id: I108ea425e69e07ee8a3657ca5afcb436420b2626
CRs-Fixed: 2944872
2021-05-26 21:09:02 -07:00
Jia Ding
49d869da28 qcacld-3.0: Get max supported EHT bandwidth in SME
As part of 320MHz bandwidth support for 11BE, define an API
to get max supported EHT bandwidth in SME, which in turn gets
max BW from WMA layer.

Change-Id: Ifae397ec38cd89758215a9d09fe58a4d7afd22f4
CRs-Fixed: 2935861
2021-05-06 22:52:29 -07:00
Utkarsh Bhatnagar
cd22a0f327 qcacld-3.0: Add Reassoc req handling code for connection manager
Add Reassoc req handling code for connection manager.

Change-Id: I2735642df3132738993e801acdb6c9dcba1ac80f
CRs-Fixed: 2939872
2021-05-06 13:49:44 -07:00
Utkarsh Bhatnagar
0a488c8261 qcacld-3.0: Move STA params of profile under connecton mgr macro
Move legacy unused STA params of csr_roam_profile under connecton mgr
macro.

Change-Id: I247b07af89203d4e0e16d7449d178b28e2138fdf
CRs-Fixed: 2938277
2021-05-04 15:04:10 -07:00
Utkarsh Bhatnagar
8ce3d59fb0 qcacld-3.0: Move LFR2 FT logic to vdev mlme
Move LFR2 FT logic to vdev mlme.

Change-Id: I77435ec78a6eeacf47b26aec214d08ad056ebabe
CRs-Fixed: 2935076
2021-04-29 11:36:25 -07:00
bings
162eed4f6f qcacld-3.0: Add eht_op and eht_cap of 11be for sme layer
Two new IE eht_op and eht_cap will be added for 11be.
Implement eht_op and eht_cap changes for sme layer.

Change-Id: If6d11e2cad2ff87ac82b07c7ecb9dd05ac53f0ee
CRs-Fixed: 2908058
2021-04-15 09:29:21 -07:00
bings
b9792c62d3 qcacld-3.0: Add 11BE phy mode in csr/sap layer
Implement 11BE phy mode in csr/sap layer

Change-Id: I7f35379b94dcb64dec0da463b95967125dc7fd14
CRs-Fixed: 2908011
2021-04-15 07:03:21 -07:00
Srinivas Girigowda
6879ad5d67 qcacld-3.0: Add support for TWT re-negotiation failure
1. If the TWT setup parameter re-negotiation results in failure,
   then host driver shall trigger TWT teardown for the
   existing TWT session.
2. Upon receiving the TWT teardown confirmation from the firmware,
   host driver shall cleanup TWT session, send teardown notification
   to the user space and ready for next TWT setup command.

Change-Id: I553ae7de8d900a3dc12d563b781f9fefa36f8a0b
CRs-Fixed: 2916548
2021-04-09 02:47:12 -07:00
Kiran Kumar Lokere
5d87920a01 qcacld-3.0: Support to prevent data and mgmt response Tx
BSS max idle testbed test requires to prevent the data and
manamenet response frame Tx with user configuration.
Add support to prevent data Tx and drop Rx mgmt frames so that
response frames is not sent.

Change-Id: I01f08fd8f30dc4b1b80801434918b976abb09e3c
CRs-Fixed: 2817703
2021-03-30 12:50:35 -07:00
Amruta Kulkarni
6c678097a0 qcacld-3.0: Support roam ho fail and roam invoke fail ind in CM
Add change to support roam ho fail and roam invoke fail
indication in connection manager.

Change-Id: I8e4fed2ca4b9c6e95da86b0c37e39da8f2bc4953
CRs-Fixed: 2906319
2021-03-25 22:23:16 -07:00
Amruta Kulkarni
15ac4a4e5a qcacld-3.0: Support roam sync indication in CM
Add change to support roam synch indication
in connection manager.

Change-Id: I06b23ae085a5a86caf4fe04fe5929b86d8d5c543
CRs-Fixed: 2901858
2021-03-24 09:47:46 -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
Kiran Kumar Lokere
311367de65 qcacld-3.0: Add support to configure ER SU for mgmt tx
Add support to configure the HE ER SU for management frame tx
and configuration support to use RU 242 tone for data Tx.

Change-Id: I068c1e7b6808d430d5468bab7ee04e24d5461afd
CRs-Fixed: 2816797
2021-03-12 22:54:31 -08: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
Utkarsh Bhatnagar
9131f1bc48 qcacld-3.0: Move prev ap info under connection manager macro
Move prev ap info and connected bss in connection manager
macro in csr session.

Change-Id: Ie2b8ecdbcf7134f93f908ba596c0398712da7ac8
CRs-Fixed: 2895259
2021-03-09 18:54:33 -08:00
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
gaurank kathpalia
fac5527d3f qcacld-3.0: Remove join_resp from roam sync structure
Remove join_resp from roam sync structure.

Change-Id: Ifabd9383954394f00afce635c90dc54cc6cb5aa3
CRs-Fixed: 2891728
2021-03-04 11:04:58 -08:00