Commit Graph

1863 Commits

Author SHA1 Message Date
Karthik Kantamneni
dd234699a9 qcacld-3.0: Wait for reg work completion before EP access state transistion
Currently intermediate EP vote access is set without checking
for previous state and reg work handler completion.
In some of the error scenarios when resume is triggered from
suspend path, EP vote access is still enabled and work handler
will be scheduled for register updates.
So make sure reg work is completed before setting intermediate access.

Change-Id: I7a1e55c188b9a9e85309dd44ac03651181499674
CRs-Fixed: 2994039
2021-07-23 18:01:30 -07:00
Rajeev Kumar
e2405723d9 qcacld-3.0: Add IPA dependency note in SAP/GO D3 WoW feature INIs
SAP/GO clients connected D3 Wow feature is only supported when IPA
is disabled and hence add dependency note to display the dependency
between SAP/GO client connected D3 WoW feature and IPA.

Change-Id: Icca4de1082090f5d740acf3b2b449b425b19ffce
CRs-Fixed: 2996992
2021-07-23 01:55:15 -07:00
Pragaspathi Thilagaraj
5c04f676f5 qcacld-3.0: Fix null pointer dereference in cm_roam_switch_to_init()
In cm_roam_switch_to_init(), vdev returned from the api
wlan_objmgr_get_vdev_by_id_from_psoc_debug() could be NULL.
Vdev is dereferenced without NULL check.

Validate vdev against NULL before dereference.

Change-Id: I42ff6943e568f16b78290a3310a8999d26c15af9
CRs-Fixed: 2996914
2021-07-23 01:55:09 -07:00
bings
5b8e66816a qcacld-3.0: register mlme mlo ext call back
register mlme mlo ext call back.
unregister mlme mlo ext call back.

Change-Id: Ifbfd474fcd01d091c65d6dbde08c9877d05e3cd5
CRs-Fixed: 2976146
2021-07-21 17:14:43 -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
Li Feng
39ef2d2c6d qcacld-3.0: Add sanity check for bmiss configuration from vendor cmd
Add sanity check for bmiss configuration from vendor cmd:
the device mode shall be station mode,
the final beacon miss value can't exceed ini max setting,
vdev_id shall correspond to the interface from vendor cmd.

Change-Id: I7ecdd40f69a8317ccd5362adbcad1159b1792ab7
CRs-Fixed: 2990863
2021-07-20 05:13:41 -07:00
abhinav kumar
bf75fb43f0 qcacld-3.0: Enable SAE roaming with same PMK INI by default
Enable SAE Roaming with same PMK feature INI
sae_single_pmk_feature_enabled by default.

Change-Id: I5be1b24fd77f5296574276af02b0098ac86d9730
CRs-Fixed: 2985116
2021-07-19 13:41:44 -07:00
Utkarsh Bhatnagar
2ed83c128c qcacld-3.0: Add support for TDLS 11AX for 6Ghz band
Add support for TDLS 11AX for operations on 6Ghz
band.

Change-Id: I56e27f1e3560cd4374ba186f161bbc2ad945fe1d
CRs-Fixed: 2990682
2021-07-19 08:15:44 -07:00
Liangwei Dong
d5706bfc60 qcacld-3.0: Add policy mgr conn list validation
Add policy mgr connection list validation such as duplication
entry error. Flush the drv log and pause the logging
if error happens so that the issue log can't be overwritten
in stress test.

Change-Id: I037863de0bc5ecb8118c5792b6d73c3e200dd5c6
CRs-Fixed: 2991983
2021-07-19 05:38:37 -07:00
Deeksha Gupta
ed12a74d8c qcacld-3.0: Add support for FT over DS
Add support to enable the "FT over DS" via
QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS vendor config
command.

This configuration helps the firmware to support
“FT over DS” instead of “FT over Air”

Change-Id: I493bf15f83bc39135aaeefa9d8ef328f0fc0cda3
CRs-Fixed: 2968680
2021-07-15 04:13:04 -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
Surabhi Vishnoi
60cebbb9e9 qcacld-3.0: Fill correct 802.11hdr in rx data pkts in pkt capture mode
All msdu's which are received in single mpdu will have same 802.11
header. Hardware fills header of only first msdu. So copy the
first msdu's header to all msdu's which are received in single
msdu in packet capture mode.

Change-Id: I1c9fd55e571eda77be0ab0863e03cd61b848b842
CRs-Fixed: 2968770
2021-07-14 02:05:02 -07:00
Pragaspathi Thilagaraj
2a34774b65 qcacld-3.0: Update fils erp sequence number after roaming
Fils info is stored per vdev. In RSO scan mode command, in FILS
TLV, the next ERP sequence number to be used in the next FILS
connection is sent to firmware and is filled from the vdev fils
info. But after roam sych event is received, the erp sequence
number is not updated in the vdev fils info, causing FILS roaming
failure.

Update the fils erp sequence number to vdev fils info after
roaming.

Change-Id: Ibc624d9c4b0fc535c430881d3033169b002c8419
CRs-Fixed: 2988113
2021-07-13 04:11:43 -07:00
Amruta Kulkarni
0c30cb8f04 qcacld-3.0: Roam sync frame event Wma cleanup
Wma to target_if migration for ROAM SYNC FRAME EVENT

Change-Id: I2a56dadf7f45a13a577bdf49bc9514ab2e6dee29
CRs-Fixed: 2968404
2021-07-12 19:12:01 -07:00
Surabhi Vishnoi
0d47f72dee qcacld-3.0: Fill Coding and STBC in HE data of radiotap header
Fill the Coding info and STBC in HE data field of radiotap
header for TX data packets in packet capture mode.

Change-Id: I173ce1846259ee9e94587e360256161f8147df08
CRs-Fixed: 2984436
2021-07-12 14:20:18 -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
Lin Bai
35b7e626aa qcacld-3.0: Enhance conc-info del/restore for 3-SAP concurrency
When all vdevs in same mode(like SAP here),
MAX_NUMBER_OF_CONC_CONNECTIONS vdevs deleted but failed
to be restored as count sanity.

Vdev count of MAX_NUMBER_OF_CONC_CONNECTIONS is also valid,
and should be restored.

Change-Id: I2ef6c9a5b1ef96098e14b6a57ad8006d806309b0
CRs-Fixed: 2988669
2021-07-12 12:09:36 -07:00
Utkarsh Bhatnagar
3f9add4ec4 qcacld-3.0: Handle A-EDCA based on STA-SAP concurrency
Handle A-EDCA based on STA-SAP concurrency. Also, update
RTS profile based on the concurrency such that:
1) For STA and SAP concurrency, send STA's AP EDCA
   params to fw. Also, for SAP or P2P Go, update the
   value in Broadcast EDCA params as well so that it
   should be broadcasted to other stations connected
   to that BSS. Also, update the RTS profile value to
   0x11. It will let FW disable SIFS bursting and send
   RTS for every frame.
2) For standalone STA (can even happen after SAP/P2P Go
   disconnects), if the parameters are updated, reset
   them to original parameters and send them to FW.
   Also, update the RTS profile value to the value
   it was set before.
3) For standalone SAP (can even happen after STA
   disconnects), if the parameters are updated, reset
   them to original parameters and send them to FW and
   reset the  Broadcast EDCA params as well so that it
   should be broadcasted to other stations connected
   to that BSS Also, update the RTS profile value to
   which it was set before.

Change-Id: Idb2b04b1b0bddb51cea9c5665847d04817a90aca
CRs-Fixed: 2949484
2021-07-12 07:45:40 -07:00
Liangwei Dong
ec02055c51 qcacld-3.0: Add more SAP mandatory channel frequency
According to new user request, add channel frequency 5745,
5765, 5785, 5805 to SAP mandatory channel list.

Change-Id: Icf1c96c07514f65a229e00d4330eaf0af5daa4ab
CRs-Fixed: 2987664
2021-07-10 21:55:11 -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
Pragaspathi Thilagaraj
ce1e9e80f0 qcacld-3.0: Don't send RSO start after HO failure
When HO failure happens or roam synch failure happens due to
north bound disconnect being already processed, host
transitions to RSO STOP-> Roam Deinit as part of the disconnect.
But after this roam abort is done, which tries to reset the
state to ROAM enabled. This causes roam init to be sent
immediately and in STA + STA scenario where STA2 roaming
is also enabled, it causes fw to go to invalid state
as STA 1 vdev is deleted.

Allow roam abort to transition to RSO Enabled only in
Roam Synch in progress state or Roam in progress state
and not in RSO deinit state.

Change-Id: I1f07d4a3068f719b8d05e111bc8d45626c6a2468
CRs-Fixed: 2969507
2021-07-08 21:31:15 -07:00
Vulupala Shashank Reddy
761caac574 qcacld-3.0: Fix channel freq for EAPOL M1 in packet capture
Some times there is delay in update of channel freq in vdev
because of which M1 channel freq is zero during initial
connection.

Fill freq from msdu start from rx_pkt_tlv.

Change-Id: Ia0a8f61c9113fbe5bc3ad932dcb67111b86629af
CRs-Fixed: 2964512
2021-07-08 02:38:38 -07:00
Amruta Kulkarni
bf0114a811 qcacld-3.0: Skip reset roam trigger during disconnect
For STA+STA case, if disconnect is started on one vdev,
roaming is getting disabled on other vdev to fix this
skip updating RSO state.

Change-Id: If527555c3ea3d50516be3a743bb03914b3a2359f
CRs-Fixed: 2981648
2021-07-08 00:07:05 -07:00
Jia Ding
f58c9d0001 qcacld-3.0: Prevent possible use-after-free of ipa_obj
wlan_ipa_uc_loaded_uc_cb is an API that is registered to IPA driver.
Therefore when IPA uC is ready, IPA driver is likely to invoke this CB
into our driver. If it is invoked after a WLAN idle shutdown, ipa_obj
use-after-free will happen because ipa_obj is destroyed as part of
shutdown.

g_ipa_is_ready flag is cleared after ipa_obj is destroyed. Therefore
fix is to add a ipa_cb_is_ready check in wlan_ipa_uc_loaded_uc_cb to
ensure ipa_obj is allocated and not freed.

Change-Id: Id422c0780ab864936d9bc812a6078ea4c20ef2af
CRs-Fixed: 2975057
2021-07-07 09:11:22 -07:00
Liangwei Dong
a97eee4294 qcacld-3.0: Use target BW 80Mhz for Pre CAC on 5G
At present the pre CAC is done based on original SAP's BW,
but usually the original SAP is on 2G and BW <= 40Mhz. The
requirement from user is to have higher BW on 5G. Hence, select
higher BW supported by SAP phymode to do pre CAC and move 2G
SAP to 5G pre CAC channel when pre CAC done successfully.
Also set the default MAX bw pre CAC to 80Mhz based on current user
request.

Change-Id: I3115da8eb649238da50b223c2587db96125ec813
CRs-Fixed: 2984084
2021-07-07 09:11:18 -07:00
Vulupala Shashank Reddy
9c1a9d9fa9 qcacld-3.0: Fix 6GHz channel freq for rx mgmt in packet capture
Fill freq received from FW directly.

Change-Id: I8a0470e6b22f8c9176586825691af160c6540348
CRs-Fixed: 2966863
2021-07-07 06:41:32 -07:00
Alan Chen
62341748f0 qcacld-3.0: Add new ini item enable_dynamic_pcie_gen_speed_switch
Add new ini item enable_dynamic_pcie_gen_speed_switch for enabling
dynamic PCIe gen speed change.

Change-Id: I7dde4e40e56bf894c7edd0805d09425444648e6b
CRs-Fixed: 2977079
2021-07-07 06:41:27 -07:00
Bapiraju Alla
660d463b88 qcacld-3.0: Add partner links information in join request
Add partner links information in join request to proceed for ML
connection in best links selected in ML scoring.

Change-Id: I463264d9c78f3ab061d54a3245b15174d0940910
CRs-Fixed: 2961881
2021-07-06 17:33:21 -07:00
Utkarsh Bhatnagar
8a5ed473ea qcacld-3.0: Change EDCA ini from CFG_STRING to CFG_INI_STRING
Change ini type of all ini related to  edca_ani, edca_wme,
edca_etsi. Also, use cfg_get instead of cfg_default for
fetching these.

Change-Id: Iba252f81d236c5b217e1d86c6511bbc52c2900b7
CRs-Fixed: 2952537
2021-07-06 15:20:30 -07:00
bings
5478a21533 qcacld-3.0: mlo sap bss start for hdd layer
Implement mlo sap bss start for hdd layer.

Change-Id: Id2fc9c735573262d5502e1538851c9554c919a21
CRs-Fixed: 2973191
2021-07-06 02:15:53 -07:00
Srinivas Dasari
c65ead975b qcacld-3.0: Let IOT APs recover by avoiding back to back DELBA
Station sends the BA and upgrades to the next possible BA window
size upon receiving all frames successfully from the current
window. Some IOT APs go out of sync from BA window size of the
station when AP fails to receive the BA sent from station. AP
transmits the frames again with previous window sequence number
and won't be ack'ed by station hardware as BA window has already
moved ahead. So, station deletes the upgraded BA and tries
to fallback.

Ideally, AP is supposed to consider the fact that "the previous
window transmission was successful when station upgrades to next
window size". But some APs take little longer time to
recover/upgrade to next window size. Don't delete the BA
immediately and have some tolerance(3 seconds) as the previous
negotiated BA just got deleted.

Change-Id: I6b277223f02dac521316cec20bd5d958785cc2e9
CRs-Fixed: 2970714
2021-07-06 02:15:48 -07:00
Pragaspathi Thilagaraj
70e6c4fc40 qcacld-3.0: Add support to send set IE request in cnx manager
With connection manager enabled, the send IE request is
not sent after connection.

Add support to send set IE request after connection is
successful in connection manger.

Change-Id: I2f30eb67ba295e0ca416ccb40e12a376e0d7a47e
CRs-Fixed: 2976734
2021-07-02 07:24:42 -07:00
Li Feng
3d05280c82 qcacld-3.0: Avoid fw crash in some wow case on third party
Due to the limitation on third party platform, add ini to take
special care of the below wow case to avoid fw crash.
The sap/p2p_go shall kick out all the connected sta/p2p_gc and
then go to suspend if d0wow/d3wow is not supported.
Although there is wakelock try to prevent suspend after tdls link
setup, it won't take effect because auto sleep mechanism is not
supported on some third party platform, so teardown tdls link
by force before suspend.

Change-Id: I14bfe32f04cfc34d4f55a09820e42e65a1d9f925
CRs-Fixed: 2935295
2021-07-02 05:02:36 -07:00
Huashan Qu
883f3f308c qcacld-3.0: Fix KW issues in ipa files
Fix KW issues in ipa files, add ipa_obj null check before use.

Change-Id: Ie6f69fda7d50b8ece9917db43a838e0f3852393f
CRs-Fixed: 2979119
2021-07-01 13:44:16 -07:00
Jia Ding
b98114c954 qcacld-3.0: Enable to parse user configured edca params
Currently only default values of local edca params are used for
WME and ETSI profiles. Therefore expose them as INI config options
so that driver is able to parse user configured edca params used
locally by SAP.

Change-Id: I81759570160a67e26f68501576d71a5fd3568cd7
CRs-Fixed: 2976143
2021-07-01 11:23:12 -07:00
Li Feng
4548644d92 qcacld-3.0: Set moddtim dynamically in the li offload mode
Extend hdd_config_modulated_dtim() to configure moddtim
dynamically in the both non li offload and li offload mode.

Change-Id: I8669ec618d4aa9cd87c4c234972ca500c98119b6
CRs-Fixed: 2970090
2021-07-01 04:24:12 -07:00
sheenam monga
9742335f49 qcacld-3.0: keep pmo_enable_igmp_offload inside igmp feature flag
Currently ucfg_pmo_enable_igmp_offload is conditionally compiled
with feature flag WLAN_FEATURE_BIG_DATA_STATS which may introduce
compilation issue when WLAN_FEATURE_BIG_DATA_STATS is disabled
but WLAN_FEATURE_IGMP_OFFLOAD is enabled.

Fix is to use WLAN_FEATURE_IGMP_OFFLOAD feature flag for
pmo_enable_igmp_offload.

Change-Id: I647ad960f5c0abc14449f0af9430f867ddcdf1e3
CRs-Fixed: 2981344
2021-07-01 02:04:03 -07:00
Deeksha Gupta
0bb0c0e680 qcacld-3.0: Print all peer info for SAP TWT get_status
Currently, host prints only one peer info instead of
all peer info as part of oem_ss initiated broadcast
SAP TWT get_status command.

Add a support to print all peer info if oem_ss sends
broadcast SAP TWT get_status command.

Change-Id: I0a617f655b7a5486582cb47a4602b30514ffae88
CRs-Fixed: 2970487
2021-06-30 02:06:57 -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
Ashish Kumar Dhanotiya
89c41b9256 qcacld-3.0: Enable utf for connection manager
Add a logic to enable utf for connection manager.

Change-Id: Id8ac70c6437bb9d77cc374abbbeea17dab6f9e3a
CRs-Fixed: 2975701
2021-06-29 19:14:36 -07:00
Yu Wang
c96692a0f9 qcacld-3.0: allow DCS interference event to wake up host
Set WOW event bitmap for WMI_DCS_INTERFERENCE_EVENTID.

Change-Id: I41d9101789adfdc954e4bade974113c51c7f6141
CRs-Fixed: 2960240
2021-06-29 15:04:53 -07:00
abhinav kumar
d6c9e893a0 qcacld-3.0: Print 5g & 6g candidate rssi threshold in kmsg
In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.

If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).

Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.

Change-Id: Idbaac2e9d470525641c152b024b8786d262e600c
CRs-Fixed: 2965025
2021-06-29 12:45:35 -07:00
Liangwei Dong
11611472b1 qcacld-3.0: Avoid duplicated thermal level change event
At present, duplicated thermal level change events are reported
on different mac with different pdev id from target. To report
the lowest pdev id's thermal level to avoid confusing the user.

Change-Id: Ia1f497ba1a1e0af946b87924de80b9fd39fe95e8
CRs-Fixed: 2976437
2021-06-29 03:54:09 -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
Surabhi Vishnoi
8301f863d1 qcacld-3.0: Fill the average rx rssi in rx data packets
Currently, rssi of rx data packet is not received as part of rx_tlv_hdr.
To mitigate this limitation, fill the average rx rssi received from
firmware in wmi smart monitor event which is stored in pkt_capture's
vdev_priv structure.

Change-Id: I3a1b7b766979816d6b17f05edc1c25d503edec1d
CRs-Fixed: 2958109
2021-06-28 12:24:34 -07:00
Abhishek Singh
046eb026ea qcacld-3.0: Code cleanup for connection manager in LIM/WMA
Remove unused code related to ndef FEATURE_CM_ENABLE in LIM/WMA.

Change-Id: I1697f0a6c9102e3b70ce6f7a1c78ea895d4d160b
CRs-Fixed: 2977902
2021-06-28 12:24:29 -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