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
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
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
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
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
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
Enable SAE Roaming with same PMK feature INI
sae_single_pmk_feature_enabled by default.
Change-Id: I5be1b24fd77f5296574276af02b0098ac86d9730
CRs-Fixed: 2985116
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
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
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
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
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
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
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
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
According to new user request, add channel frequency 5745,
5765, 5785, 5805 to SAP mandatory channel list.
Change-Id: Icf1c96c07514f65a229e00d4330eaf0af5daa4ab
CRs-Fixed: 2987664
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
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
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
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
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
Add new ini item enable_dynamic_pcie_gen_speed_switch for enabling
dynamic PCIe gen speed change.
Change-Id: I7dde4e40e56bf894c7edd0805d09425444648e6b
CRs-Fixed: 2977079
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
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
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
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
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
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
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
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
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
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
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
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