Commit Graph

1947 Commits

Author SHA1 Message Date
Gururaj Pandurangi
c627a01463 qcacld-3.0: Add Multi-link IE support
Add Multi-link IE support.

Change-Id: I0d4811c6dfb0758c284c299c90ab1832f95dff2b
CRs-Fixed: 2942499
2021-06-16 21:30:55 -07:00
Deeksha Gupta
785ab5431d qcacld-3.0: Fix status overwrite by disconnect req
Fix status overwrite by disconnect req if
WLAN_CM_SM_EV_ROAM_INVOKE_FAIL fail

Change-Id: I014965faf89c3bf8efc8b2036fc0f0466239fc19
CRs-Fixed: 2969763
2021-06-16 16:50:51 -07:00
abhinav kumar
1c4c73d081 qcacld-3.0: Dont allow SAP on indoor channel
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.

Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
2021-06-16 16:50:46 -07:00
Jyoti Kumari
51ef091ec3 qcacld-3.0: Change default value of ILP profile
Change default value of ILP profile as 1

Change-Id: I3b3f39ce5c57eb4bd90456db3302482e4f87bc88
CRs-Fixed: 2968689
2021-06-15 12:22:10 -07:00
sheenam monga
989e398008 qcacld-3.0: Send BIG DATA stats req to fw based on service cap
Validate fw capability to handle big data command before sending
big data stats request to fw.

Change-Id: Id7df4c3ac36e25761938758472ea9281c174a8c9
CRs-Fixed: 2937523
2021-06-14 06:28:07 -07:00
Srinivas Dasari
ff58fd853b qcacld-3.0: Wait for key install in SAE/OWE as well
EAPOL handshake is done by wpa_supplicant in initial connection
and WPA3 roaming as well. Driver is supposed to wait for EAPOL
handshake/key complete timeout after getting roam sync indication
from firmware. But this wait is skipped with the change
change-id : Ie4f06cfcb066ae245de024b62da586aade783aec.
Add the same check again.

Change-Id: I437c6be15d7c1a3775a177c2da6c581d417c2533
CRs-Fixed: 2963548
2021-06-14 03:10:44 -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
Srinivas Dasari
10e2a002a8 qcacld-3.0: Move NAN log events to RX_WORK context
Firmware sends NAN log events to driver and these are logged
with info level to capture complete NAN state machine logs in kmsg.
Currently, these events are received/processed in soft IRQ context
and causes performance issues as logs introduce delays. Move the
event registration to RX_WORK context to avoid delays.

Change-Id: I15ba20059f55f002cfe276d62e68e3cc09136a23
CRs-Fixed: 2960359
2021-06-09 19:43:09 -07:00
Jianmin Zhu
8ef9b522a7 qcacld-3.0: Failed to roam to all band after dual sta enabled
For dual sta case, if vdev0 disconnected before vdev2 disconnected, vdev0
PCL cmd retained vdev level, after vdev0 reconnected first, just allowed
intra band in PCL, only can roam in intra band.
Fix: When vdev disconnect, reset it's PCL cmd to pdev level.

Change-Id: I3ed3ec398cfe1a17d07ce716c27026b9660305bd
CRs-Fixed: 2960194
2021-06-09 03:14:54 -07:00
Srikanth Marepalli
97b85405a1 qcacld-3.0: Don't send PCL command for P2P vdev
Set PCL command should be sent to firmware only for STA mode.
For P2P vdev, except the connected band, the other band channels
are marked disallowed. With this, if the set PCL command is sent
then STA can't roam to the disallowed channels.

Hence don't send PCL command if the vdev opmode is not Station.

Change-Id: I6c4917f75d5f14169e2c564d5f6deee819fb629a
CRs-Fixed: 2939148
2021-06-08 20:30:22 -07:00
Utkarsh Bhatnagar
3e95b94add qcacld-3.0: Fix bssid printing in preauth logic
Fix bssid printing in preauth logic by adding space before printing
the bssid.

Change-Id: I32becd76be24f9c7f21dc72034f5a1ca26c90bbd
CRs-Fixed: 2964158
2021-06-08 18:17:14 -07:00
Amruta Kulkarni
b294c04540 qcacld-3.0: Fix possible OOB access
Add check to fix possible out of bound array access

Change-Id: I621441bbdc41ce58f444b221eba086ab2f0b2e5a
CRs-Fixed: 2960525
2021-06-08 13:18:12 -07:00
Kiran Kumar Lokere
5100c14d73 qcacld-3.0: Config support for WMM based TXOP feature
Add configuration support for WMM based TXOP feature.

Change-Id: Ide52b7d4b7bca590515e8697506d2b52744a7fa6
CRs-Fixed: 2947604
2021-06-08 03:16:03 -07:00
Jyoti Kumari
08eb756a51 qcacld-3.0: Don't use wlan_chan_to_freq
As part of regulatory cleanup, wlan_chan_to_freq() is removed.

Use wlan_reg_legacy_chan_to_freq()/wlan_reg_chan_band_to_freq()
instead of wlan_chan_to_freq().

Change-Id: I9d105863f8d6384c97e8219b89a230c863e29d19
CRs-Fixed: 2933440
2021-06-08 01:08:27 -07:00
Pragaspathi Thilagaraj
22019b0a18 qcacld-3.0: Add support to retain WTC params across disconnection
The WTC parameters are stored in MLME vdev private object.
So the parameters are cleared once vdev delete is done.

Move the WTC parameters to psoc->mlme_cfg to retain the
values across disconnections.

Change-Id: Icecfbef19af994f8a05622501d435bfb63beca50
CRs-Fixed: 2959715
2021-06-08 01:08:17 -07:00
Srikanth Marepalli
e4323e039d qcacld-3.0: Enhance the EAPOL handshake offload INI per AKM
Existing INI disable_4way_hs_offload is defined as a boolean
that controls the EAPOL Handshake to be offloaded to Firmware or
Not. There is no way to specify the EAPOL offload per AKM.

Hence extended the support of EAPOL handshake offload to firmware
per AKM by converting this INI to a bitmap integer.
With ini value as 0 by default Firmware takes care of 4-way HS
during roam for all AKMs except for SAE and OWE. If
this ini value is 1 then Host takes care of EAPOL for all AKMs.

Having the backward compatibility, added a new value to ini.
If this ini value is set to 2 and also if the SAE EAPOL offload
service bit is set by Firmware then the behavior is same as ini
with 0 except that Firmware takes care of 4-way HS for SAE roam
as well. And for OWE it is still handled by supplicant.

To achieve this, new roam offload flag is introduced to indicate
Firmware about SAE roam EAPOL offload, So that in Roam sync
indication Firmware will inform the status as connected but not
authenticated so that supplicant can take care of 4-way EAPOL HS.

Change-Id: I8b65a1768fad91fac7e427712d3ccf4586176f5f
CRs-Fixed: 2955029
2021-06-07 22:54:32 -07:00
Mohit Khanna
78a1c3a8b4 qcacld-3.0: RX Pkt capture changes for WCN7850
Change direct RX TLV usage to using HAL APIs to populate RX packet
capture params.

CRs-Fixed: 2888534
Change-Id: Ib20e72ddb214e2579d2eabb92630604dc5b88526
2021-06-04 10:43:31 -07:00
Rakesh Pillai
7f45b14f24 qcacld-3.0: Add rx tlv access changes
Add the changes in FISA/pkt-capture APIs due to the
modifications in the hal APIs to get rx tlv params.

Change-Id: I5b1827079ca2e056da0db5e396ca90aec57f559b
CRs-Fixed: 2888534
2021-06-04 10:43:31 -07:00
Rakesh Pillai
b3e1a44d0b qcacld-3.0: Init-Deinit changes for WCN7850
Changes to initialize/deinitalize WCN7850 from HDD layer.

CRs-Fixed: 2888534
Change-Id: Ia9e44f9fe0b4b6977c55c380756af0656203e4f5
2021-06-04 10:43:31 -07:00
Rakesh Pillai
e86da7276c qcacld-3.0: Changes to enable BE/WCN7850 flags
Changes to enable compilation for beryllium target(chip WCN7850).

CRs-Fixed: 2888534
Change-Id: I7b3d252fc8550883a2d24b6beb2b78f482f5004b
2021-06-04 10:43:23 -07:00
Jyoti Kumari
7b38805edc qcacld-3.0: Handle SAP concurrency in CSA and NAN/NDI case
TWT is supported in STA/SAP vdevs and it's allowed only in
DBS/Standalone case and not in SCC/MCC. Disable SAP TWT if
1. Concurrency occurs in SAP + NAN/NDI vdev
2. SCC/MCC occurs after CSA

Change-Id: Id1400bd5555d2f48590d7d3ad7c70162d1dd92fb
CRs-Fixed: 2942959
2021-06-04 00:28:13 -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
Huashan Qu
4827a8421e qcacld-3.0: Fix some LFR2.0 issues for connection manager path
Fix some LFR2.0 issues for connection manager path as below:
1: Add ptr null pointer and len check before access
rsp->connect_ies.bcn_probe_rsp.
2: Remove aged AP threshold check so that roam process can find
candidate AP with more probability.
3: Set cm_ctx->vdev to cmd_info.vdev in
cm_remove_preauth_cmd_from_serialization().
4: Add more debug logs for preauth part.

Change-Id: I4b0766bba40e3ebc3d01bdd4ae59aec1ec3a21d9
CRs-Fixed: 2961151
2021-06-03 22:16:28 -07:00
Utkarsh Bhatnagar
26403151ff qcacld-3.0: Remove duplicate code in connection manager
Remove duplicate code in connection manager and call
same API from connect complete and roam complete.

Change-Id: If7e9e1069acb1dede9433d16ef96f37029ff716d
CRs-Fixed: 2960921
2021-06-03 14:52:56 -07:00
bings
5102c78190 qcacld-3.0: fix mlo build error
Fix build error when enable WLAN_FEATURE_11BE_MLO

Change-Id: I73855838972a9edd6307dd1e55b05152c5435d69
CRs-Fixed: 2958496
2021-06-02 22:54:34 -07:00
Utkarsh Bhatnagar
1169039038 qcacld-3.0: Send TDLS STA notify only when connect is success
Send TDLS STA notify only when connect is success.

This is required as incase connection, it will increment
tdls_soc_obj->set_state_info.set_state_cnt.
It that connection results in failure, then also, without
this check this count will increment.
For subsquent connections, in tdls_send_update_to_fw()
because of incremented count, it will be treated as
FW Set State is already sent and will not send it
which will result in FW crash while adding TDLS peer.

Change-Id: Ic3bedfb1357ac703f98d2d0285dcc85605bab97e
CRs-Fixed: 2955401
2021-06-02 13:48:12 -07:00
Utkarsh Bhatnagar
790223c7dd qcacld-3.0: Add pending changes for reassoc req
Add pending changes for reassoc req.

Change-Id: I805da0730be9f602fb04135f69c6f339ea8e2ac6
CRs-Fixed: 2958582
2021-06-02 04:51:56 -07:00
Karthik Kantamneni
6b9945cdb4 qcacld-3.0: Handle ipa pipes setup failure in wlan_ipa_uc_ol_init
When ipa setup pipes fails in wlan_ipa_uc_ol_init API,
tx buff mapping is not done but during deinit path
tx buff unmapping is called without mapping.

Fix this by resetting uc_loaded flag to false when ipa pipes
setup failure is encountered.

Change-Id: Ic34320e56cee9e60381d9203dd95e268d0ef392b
CRs-Fixed: 2957612
2021-05-31 13:30:15 -07:00
Yeshwanth Sriram Guntuka
553ec8e0a4 qcacld-3.0: Handle error cases in ipa_uc_loaded_handler
In the scenario where ipa connect pipes fails in the
wlan_ipa_uc_loaded_handler API, uc_loaded flag is not
reset. As a result of this, in wlan_ipa_uc_ol_deinit,
ipa_tx_buf_smmu_unmap and ipa_wdi_disconn_pipes APIs are
invoked incorrectly.

Fix is to set the uc_loaded flag to true only if connect
pipes and tx_smmu mappings are successful in
wlan_ipa_uc_loaded_handler. Also, initialize the uc_op_work
in wlan_ipa_uc_ol_init prior to the uc_loaded check to
avoid a possible race condition which could also result
in the similar issue as above.

Change-Id: I119170413cb9b5e03ec476c9a69d9effaa460c01
CRs-Fixed: 2940833
2021-05-31 07:47:15 -07:00
Srinivas Dasari
3a64788b29 qcacld-3.0: Allocate NDP_END wait context before posting msg
Currently, osif_request_alloc is done and waiting for response
after posting the message NDP_END_REQ. But this may lead to
invalid memory access if message gets processed in scheduler
thread and response also comes before the request is allocated.

Allocate the request before sending message to avoid this.

Change-Id: I88b0a8be229e779526f0f3cf184b191e00872ee8
CRs-Fixed: 2782045
2021-05-31 05:36:08 -07:00
Srinivas Dasari
a51f024cd9 qcacld-3.0: Move cp stats to scheduler thread from kworker thread
Currently, cp stats are received through kworker thread context.
This causes race conditions/out of sync issues if any common data
structures are handled in parallel in scheduler thread context.
There is no need to receive the cp stats on kworker thread as per
current design. So, move the cp stats event handling to scheduler
thread to avoid any race conditions.

Change-Id: Id8134003e6f7a3e0368b20c496f650e0b7025b9e
CRs-Fixed: 2928876
2021-05-31 05:36:02 -07:00
Pragaspathi Thilagaraj
73b225f611 qcacld-3.0: Add support for candidate AP RSSI in different bands
Currently in WTC mode the candidate AP RSSI threshold
configuration is applied for candidates on all band.

Add support to configure the candidate AP RSSI threshold for
different bands.

Change-Id: I94442c0f1bd3ea20dc2f5ebe893a9ead7fb8d890
CRs-Fixed: 2951610
2021-05-30 23:51:55 -07:00
Karthik Kantamneni
239913e04c qcacld-3.0: Set intermediate EP vote access
Set intermediate EP vote access before host
wake up indication smp2p is sent to F.W,
this helps to avoid smp2p override.

Change-Id: I4b998ee5ea6b26921855bfbae434869fb93accf9
CRs-Fixed: 2953883
2021-05-28 18:30:37 -07:00
Huashan Qu
6a958dfc46 qcacld-3.0: Cleanup roc and notify tdls when user disconnects sta
Only do cleanup roc request and notify tdls sta disconnect
when sta disconnection operation is from osif or north bound.

Change-Id: I1d0aa4f1cd8a23baca890228485f22124eeabf78
CRs-Fixed: 2954772
2021-05-28 01:46:57 -07:00
Huashan Qu
1557129851 qcacld-3.0: Add host roam preauth handling code for connection manager
Add host roam preauth handling code for connection manager.

Change-Id: Id97d716a6c47ba08b2e8ef5e3ed675c5dcf88ed8
CRs-Fixed: 2954515
2021-05-28 01:46:52 -07:00
Pragaspathi Thilagaraj
3073bb1391 qcacld-3.0: Don't send roam init for P2P vdev
Roam offload init command should be sent to firmware only
for STA mode. For P2P vdev, if roam init command is sent,
it causes abnormal target behavior.

Don't send roam init command if the vdev opmode is not
Station.

Change-Id: I0bfc3c6b4bc2eef7459b092101bc4d72c68761e5
CRs-Fixed: 2924563
2021-05-27 13:41:21 -07:00
Srinivas Girigowda
bd0961f3db qcacld-3.0: Separate TWT enable command wrt req/res role
1. Currently, the same twt enable api hdd_send_twt_enable_cmd()
sends to firmware for both requestor and responder role.

2. When firmware receives enable command, it will be busy to
handle that command. If any back to back enable command, it can
lead to some issues.

As part of this change, decouple enable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_enable_cmd()
for responder: hdd_send_twt_responder_enable_cmd()

Synchronize twt enable command to avoid back to back command
issue.

Change-Id: I3d3840740fee7413d6123ece919c42558e9b35d1
CRs-Fixed: 2937540
2021-05-27 03:46:45 -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
Ashish Kumar Dhanotiya
cc3c67977d qcacld-3.0: Add ini support to enable NAN on indoor channels
Currently there is no  support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
2021-05-26 09:20:42 -07:00
sheenam monga
3ea09842f6 qcacld-3.0: Avoid comparison of two different enums
Currently, reg_wifi_band enum is compared with
enum band_info. different values may lead to
invalid chan mode.

Fix is to compare reg_wifi_band with reg_wifi_band
enum value only.

Change-Id: Ibbe83ab5a8a428528bbeb28c941552a6f412a844
CRs-Fixed: 2949501
2021-05-20 10:02:16 -07:00
Pragaspathi Thilagaraj
077006a020 qcacld-3.0: Add new roam scan type string
Add new roam_scan type string to indicate all the 5G+6G
channels are scanned.

Change-Id: I8f77b9b28d5b544d586612e177c86a3b730b0bd9
CRs-Fixed: 2947645
2021-05-19 14:37:43 -07:00
Utkarsh Bhatnagar
919f560858 qcacld-3.0: Fix HO fail handling when received without roam start
If HO fail/ roam abort is received without any roam start indication
the roam command will not be present in connection manager, so
continue with cleanup even when roam command is not present in these
cases.

Change-Id: I0ff3307b4d4ba96cc3b0c413fd0a41be47e9c588
CRs-Fixed: 2948064
2021-05-18 12:41:55 -07:00
Deeksha Gupta
565e6a7d76 qcacld-3.0: Support for TWT SAP get_status query command
Add support for TWT get_status command in SAP

As part of this change, TWT get_status command is supported
if
1. If particular dialog_id and particular mac_addr are
   present
2. If dialog_id = 0 and particular mac_addr are present
3. If no parameter present

Change-Id: I5ce1719da7f9a3988ba6e1f04455a06faf9687c6
CRs-Fixed: 2937999
2021-05-18 08:29:11 -07:00
Utkarsh Bhatnagar
76866c0712 qcacld-3.0: Use cm_is_open_mode() API to check for open security
Use cm_is_open_mode() API to check for open security.

Change-Id: I4d960ee781ee63e73f19f0d5e223fd49c01ba728
CRs-Fixed: 2947818
2021-05-18 08:29:05 -07:00
Tiger Yu
91d2958518 qcacld-3.0: Reset iface_context to NULL if max IPA interfaces reached
Reset iface_context to NULL if max IPA interfaces reached to avoid to
cleanup the wrong interface context when setup IPA interface failure.

Change-Id: I2f19d62b9f76f826c2275a0d889b5f5a0a48a01f
CRs-Fixed: 2931966
2021-05-17 23:43:36 -07:00
Vulupala Shashank Reddy
fb5c7ba38a qcacld-3.0: Fill he and vht parameters for packet capture mode
Fill he and vht parameters in data tx and rx packets for packet
capture mode to update in radio tap header.

Change-Id: I229fc41657456b9ab5d8a2dfce1cdd039b624fcb
CRs-Fixed: 2942108
2021-05-16 20:50:28 -07:00
Vulupala Shashank Reddy
bccb16f916 qcacld-3.0: Fix Frequency for data rx packets in packet capture mode
Currently centre frequency filled in data rx packets for packet
capture mode. Need to fill base frequency so filling frequency
from connection policy manager.

Change-Id: I79abe4e8a27a853c156eff8618be2f280fc54e78
CRs-Fixed: 2942107
2021-05-16 20:50:24 -07:00
Lincoln Tran
2a0851b0ab qcacld-3.0: Use MLME channel list in connection manager
When updating the scan filter with valid channels, refer to the MLME
channel list instead of the policy manager list. The policy manager list
is used mainly for SAP related APIs.

Change-Id: I5530e5bcfd6b5c04063d7530fbc996ffca91df3f
CRs-fixed: 2946365
2021-05-15 10:50:37 -07:00
Lincoln Tran
8b2cd2c24d qcacld-3.0: Change SAP related APIs to use secondary channel list
In any start BSS or ACS related function, change the calls to regulatory
to access the secondary channel list instead. This list will hold the
VLP channels specifically for any beaconing modes. This allows a client
and an AP to operate simultaneously on different power modes.

Change-Id: Ic06b408ebcc78292d84f1f035c00bf39a23de3ca
CRs-fixed: 2944484
2021-05-14 12:54:21 -07:00