Commit Graph

1288 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
832fee1036 qcacld-3.0: Refine PASN peer delete all & pasn auth status path
Refine PASN peer delete all path, to post message to
scheduler thread to process the peer delete all
message for PASN peers. Handle response timeout in WMA.
Resume vdev deletion after removing pasn peers

Add vendor command support to parse below vendor commands:
QCA_NL80211_VENDOR_SUBCMD_PASN
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT

Send install key command to firmware to install the
PTK upon receiving
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
vendor command. If LTF keyseed is also received,
send the LTF keyseed to firmware.

Sent PASN auth status to firmware upon receiving
QCA_NL80211_VENDOR_SUBCMD_PASN command.

Change-Id: Idc9c69f7288b0774cc6d9bdcfed13ba3684bbc72
CRs-Fixed: 3231205
2022-07-14 04:12:30 -07:00
Vinod Kumar Myadam
a24510696e qcacld-3.0: Add flag CONNECTIVITY_PKTLOG
Add new flag CONNECTIVITY_PKTLOG to make independent of
FEATURE_PKTLOG and REMOVE_PKT_LOG for packet logging.

This is because 32 tx/rx pkt logging is connection related
and this feature is independent of pkt log feature. Here
driver will send first 32 tx/rx pkts consisting of mgmt
and data pkts to userspace which can be used for debugging

Change-Id: If987ac8b6cb10b464a4ec2ace1c55215c0aa3614
CRs-Fixed: 3222970
2022-06-23 07:03:31 -07:00
abhinav kumar
fbc86e2752 qcacld-3.0: Remove GET and SET ROAMSCANCONTROL driver cmd
GETROAMSCANCONTROL and SETROAMSCANCONTROL driver commands
will be deprecated from Android 13. So remove all logic
related to these driver commands in the host.

Change-Id: I05fafbec2b3f3b798c8c89d0c33b1dbf5c1b45d4
CRs-Fixed: 3225052
2022-06-22 01:00:56 -07:00
Vinod Kumar Myadam
b4520fdd7d qcacld-3.0: Add support for OEM async event from FW
Add handle for OEM data async event from FW sends to userspace

Change-Id: I8104dde974f3b4b4eb9a409235b3b0da4cc97857
CRs-Fixed: 3216034
2022-06-08 19:07:17 -07:00
Qun Zhang
04f01b2cea qcacld-3.0: Let country IE take band channel info as need
When verifying WNM BSS transition function, it's possible to
ask peer STA to transition across multiple band. Some vendor
BTM implementation is needed to check country IE to get all
supported band channel info. Without full channel list in
country IE, it cannot make a transition across multiple band.
To solve the interop issue, let country IE take all supported
band channel info when the specific vendor OUI is detected in
association request.

Change-Id: I78dd4b88937277b54a7da4d72d8a94706965e9a6
CRs-Fixed: 3196957
2022-05-25 09:27:54 -07:00
Vishal Miskin
a16245bd79 qcacld-3.0: Re-use qdf defined macros instead of redefine
Refer qdf_container_of() for GET_BASE_ADDR() and
qdf_offsetof() for GET_FIELD_OFFSET()

Change-Id: I15a9dff070e5fcbde504a7722e99d8d3b0b64b4f
CRs-Fixed: 3187194
2022-05-05 11:14:57 -07:00
abhinav kumar
e65264f599 qcacld-3.0: Process latency level cmd and event
If the multi-client Low latency feature is enabled
in the driver, the host includes a multi-client id
bitmap and the corresponding latency level and sends
the WMI_WLM_CONFIG_CMDID command to set the latency
level in the firmware.

FW calculates a stringent latency level and as a
response to the WLM config command, Fw sends an event
WMI_LATENCY_LEVEL_EVENTID to the host to configure a
stringent latency value.

Change-Id: Ib7a474956f39ef26e1d957b7619ebb8ac87233a6
CRs-Fixed: 3180939
2022-04-26 05:37:43 -07:00
Bing Sun
6df47a0d95 qcacld-3.0: Add API to get max mcs index
Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.

Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
2022-04-12 06:31:07 -07:00
Surya Prakash Sivaraj
edc56c445f qcacld-3.0: Remove the old SAP/CSR flow
Remove the old SAP-CSR flow for start bss, stop bss and
channel change req processing which is disabled currently
under the SAP_CP_CLEANUP macro.

Cleanup the redundant checks in the deauth, disassoc
response processing in CSR.

Change-Id: I5a360fc267688b51ca645551108b65646a3c8c1a
CRs-Fixed: 3164259
2022-04-03 17:55:50 -07:00
Abhishek Singh
553e074021 qcacld-3.0: Remove SME global lock from the scan APIs
Remove SME global lock use from the scan APIs as scan has its
own lock and thus no need to hold global lock while accessing
scan database.

Also cleanup unused csr scan functions.

Change-Id: I7ad5a61e69c200f9dee6b9158c4d27708fdc98dc
CRs-Fixed: 3160360
2022-03-29 14:11:37 -07:00
Surya Prakash Sivaraj
93aac5b7c6 qcacld-3.0: Remove camelcase in csr_roamstart_bssparams struct
Remove the usage camelcase in bssparams structure, use the
snake case instead.

Change-Id: I56a99b69b08db62aef842e40ad358b3d3dc15b40
CRs-Fixed: 3148876
2022-03-25 17:04:21 -07:00
Surya Prakash Sivaraj
3d8ad3801b qcacld-3.0: Cleanup the start bss request flow
Remove redundant structures and operations in SME/CSR.

Currently, start bss request is prepared in CSR module using
csr_roam_profile, which is built from sap context.

To remove redundencies, prepare the start bss request in SAP
module and serialize the start bss request.

Change-Id: Icd468fe2a48d5324c1485d83b05e27400c9dbd9a
CRs-Fixed: 3142912
2022-03-25 15:44:13 -07:00
Utkarsh Bhatnagar
fea133e371 qcacld-3.0: Move MLO STA concurreny handling to Policy Mgr
Move MLO STA-SAP concurreny handling to Policy Mgr which
is present in CSR currently.
Also, Move MLO STA-STA concurreny handling to Policy Mgr
which was part of If Mgr currently.

Change-Id: I2b8de17c3d31b43ff1f6b81a7de07b88888d7fb5
CRs-Fixed: 3153393
2022-03-21 17:05:03 -07:00
Surya Prakash Sivaraj
08bdec292e qcacld-3.0: Cleanup SAP flow in CSR
Remove redundant structures in CSR for SAP functionality
and add a new flow to post SAP requests from SAP module to
LIM.

Change-Id: If3339cf138140ea148bbd263960907fb3a01de43
CRs-Fixed: 3123072
2022-02-23 08:36:37 -08:00
Srinivas Girigowda
3d62f09171 qcacld-3.0: Make legacy WMA TWT functions no-op
Make legacy WMA TWT functions no-op if TWT componentization is enabled.

Change-Id: I19ab205dac72d869bbe90bad359f89fe83275e4d
CRs-Fixed: 3085424
2022-02-11 00:20:40 -08:00
Rachit Kankane
0b6247975c qcacld-3.0: Add support for EasyMesh ACS
Add support for below EasyMesh specific commands

1. To set user specified channels in the acs channel list
2. To trigger ACS
3. To get the ACS report

Change-Id: I1090b9a86d62eddc9954b70835c7496e5a614757
CRs-Fixed: 3080222
2022-02-01 10:40:17 -08:00
Wu Gao
5924885bea qcacld-3.0: Set vdev tx data callback properly
When WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE enabled and user space sets
mac address, host will detach vdev and attach again without setting
vdev tx data callback. Then host tx TDLS discovery request timeout
since lim_mgmt_tdls_tx_complete isn't called, finally TDLS link
establish failed. This change set vdev tx data callback after dp vdev
detach and attach done.

Change-Id: Iada58ba2df0612a92503ccfa5f246f7cca9db9ad
CRs-Fixed: 3112831
2022-01-26 01:04:12 -08:00
Surya Prakash Sivaraj
ab7caec132 qcacld-3.0: Cleanup start bss processing in LIM
Remove unwanted parameters from start_bss_req and use
the parameters from vdev instead.

Change-Id: Ifea96bf7908b0dae66807b7a346684fe46fdcd4e
CRs-Fixed: 3105488
2022-01-10 15:08:27 -08:00
Bing Sun
8b5d93f37c qcacld-3.0: Update CAC duration of new channel to vdev before CSA
CAC duration of new channel should be able to get before CSA. During
CSA, CAC duration of new channel is used to populate max channel
switch IE.

Change-Id: I25d430d3eb663c90555ebad7a214b0789ea8c1ce
CRs-Fixed: 3102581
2022-01-09 23:09:50 -08:00
Ashish
0fcdb3b424 qcacld-3.0: Remove get disconnect stats command from serialization
Currently in SAP mode, when host driver receives disconnect for
station, first it gets disconnect stats with serialization command
and then it sends delete peer command to fw. There is an issue with
this approach, if there are maximum number of clients are connected
to a SAP and all of these clients gets disconnected at the same
time, in that case there will be a disconnect stats command and
peer delete command in serialization, because of which serialization
queue gets full.

To address this issue, remove disconnect stats command from
serialization and send this command just before sending peer
delete command once peer delete command gets serialized.

Change-Id: I2fa1a5a393939eebbce796e11348fa7c040b40e8
CRs-Fixed: 3100914
2021-12-29 05:36:16 -08:00
Abhishek Singh
af5e1cfadb qcacld-3.0: Remove Unused RSO functions
Remove Unused functions wlan_cm_abort_rso and
sme_abort_roaming.

Change-Id: I3ff40cc7d526adea5cac61522c27142f7c73bcbe
CRs-Fixed: 3101169
2021-12-28 08:46:12 -08:00
Bapiraju Alla
0de141916d qcacld-3.0: Add support to dynamic MAC address update
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.

To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.

Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
2021-12-27 20:58:55 -08:00
Utkarsh Bhatnagar
c7e3610309 qcacld-3.0: Handle SAP + MLO STA concurrency
Handle SAP and MLO STA concurrency such as:

  1) If MLO STA is present with both links
     in 5/6 Ghz then SAP comes up on 2.4 Ghz,
     then Disable one of the links.

  2) If there is channel switch for sap from
     2.4 ghz to 5 ghz, then enable both the
     links as they were disabled by previous
     operations when sap was on 2.4 ghz.

  3) If MLO STA is present with both links in
     5/6 Ghz and SAP, which was present on
     2.4 ghz, stops then renable both the as
     one of the links were disabled because
     of sap on 2.4 ghz.
     Also, in case where MLO STA roamed from
     5 + 6 link to 2.4 + 5/6 link force scc
     will happen and the disabled link has
     to be enabled.
     Both links should only be enabled if mlo
     sta has more than one links.

Change-Id: I0fd0093b20336ae32325981589c399b44a44b64e
CRs-Fixed: 3092202
2021-12-16 07:17:42 -08:00
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
Bapiraju Alla
63867fd076 qcacld-3.0: Add support to calibration failure events parsing
Currently there is no provision to get the calibration failure
information from the driver. Because of this it is getting difficult
to debug the calibration failure issues.

To simplify the calibration failure issue debugging, add support to
parse calibration failures events in the driver.

Change-Id: I6d831804cca259862fea3e8bb4af33d556138d43
CRs-Fixed: 3078926
2021-12-06 22:33:20 -08:00
Utkarsh Bhatnagar
fb350af4eb qcacld-3.0: SAP concurrency changes
SAP concurrency changes to support
SBS

Change-Id: I8a509b20ab172bce2df977f69a78f5ec0070535a
CRs-Fixed: 3052123
2021-11-08 11:20:33 -08:00
Srikanth Marepalli
bbeccbc9ce qcacld-3.0: Fill the vendor attributes with the Roam stats
This change gathers the roam event stats from the FW.
New vendor event is used to fill in the vendor attributes
whenever the roam stats are received from Firmware.

Change-Id: I9a2ddef62d26b0b68897891788733df452ac1ceb
CRs-Fixed: 3036518
2021-11-08 09:41:34 -08:00
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