Currently, If supplicant sends tx_mgmt request with random
mac_addr then driver adds the random mac_addr and sets this
random mac_addr to firmware via
WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID command. Driver waits
for tx_ack or tx cancel wait to complete and then remove the
cookies and start timer to delete the random mac_addr.
In case after receiving tx_ack, driver removes the cookie and
starts timer and before timeout supplicant sends the
tx_cancel_wait request. But driver can't update the timer
duration as the cookie was already deleted as part action frame
tx completion.
Fix is driver will remove the cookie with below condition:
1. If driver receives the tx_ack and the wait duration = 0 then
no need to start the timer, remove the cookie and also remove the
random mac_addr from firmware
2. If driver receives the tx_ack and the wait duration != 0 then
start the timer
3. If driver receives tx_cancel_wait then stop the timer and
remove the randon mac_addr from firmware
4. If timeout happens then remove all the cookies for the random
mac_addr and also remove the random mac_addr from firmware
Change-Id: I3e227213239e865582e5d8674260d049c437aa9b
CRs-Fixed: 3002851
Add 320MHz support in cm so that connection info can reflect
correct 11BE 320MHz bandwidth.
Change-Id: I44772472bf9e64af0e47ad71ca7d29d1ff90daed
CRs-Fixed: 3009311
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.
Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
Currently driver has only one name for an INI, with
this change add second name as well for few INIs based on
new requirement.
Change-Id: I6eee13935d1c5c74794027b88d94cbb572339e9e
CRs-Fixed: 3007209
The RRM request may have different country code with DUT internal
regdb configure, use country code from beacon IE if it is present,
otherwise use internal country code to verify op class of neighbor
report channel list.
CRs-Fixed: 2997474
Change-Id: I35a62d9791f08d26dd8a892739612eb422805523
When firmware sends Roam synch indication, driver changes the
roam offload state to ROAM_INIT and after set key completion is
received, RSO start will be sent. But if EAP/EAPOL fails and
disconnection is triggered then deinit command is sent without
setting roam scan mode to 0 with RSO stop command.
So change roam offload state to RSO_STOPPED if auth status is
connected in roam synch indication.
Change-Id: If8f56ce48500f6848fa917854b6252f8deb67c01
CRs-Fixed: 3005697
This reverts change Id8134003e6f7a3e0368b20c496f650e0b7025b9e
Moving cp stats to scheduler thread is breaking the
synchronization in stats collection. Currently, when a get stats
command is issued from framework, host driver sends the same to
firmware and wait for both llstats and get_station related stats.
The expectation is to receive get_stats first and then llstats.
Host driver has a wait for the last llstats event to return the
stats to userspace. As the cp stats(get_station stats) are moved
to scheduler thread, the order of these events can't be ensured
as llstats are still running in kworker thread. llstats event gets
processed before cp stats mostly and stats are returned
immediately to framework. Framework may issue the get stats
command again and the same is sent to firmware, which may result
in synchronization issue in firmware as well.
Moving llstats also to scheduler thread may not be optimal as these
are aggressive and can be queried by framework multiple times with
a milliseconds gap.
So, move back the cp stats to kworker thread to maintain
synchronization.
Change-Id: I8dc518f0de37e7cc203cb1f6e67045d74b304d93
CRs-Fixed: 3002534
Populate mlo IE for assoc req with inheritance mode.
populate base rate, extend rate, capability, extend capability
and HT/VHT/HE/EHT capability based on mac context.
Change-Id: I5e1c350a9c5f23a63d11c6d4b5cdbf0422dd53e0
CRs-Fixed: 3000895
In case of STA + STA concurrency, enable roaming on
another interface only if STA + STA concurrency is in
DBS.
Add sanity for SCC concurrency also along with MCC
concurrency in cm_roam_switch_to_init.
Change-Id: I8787828b4b950c355e9bf70af58aad7779de3e9f
CRs-Fixed: 3001723
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation
Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
Save dual sta configuration in hdd context and
restore it after SSR. This allows driver STA + STA
connection in MCC/SCC.
Change-Id: Ia8bb8c845f0f76e7ce41ff32ab0a3bc6d5111018
CRs-Fixed: 2998225
If STA is connected to one channel and p2p is up on same channel,
and sta moves to another channel then p2p go also tries to switch
to sta channel immediately in case g_enable_go_force_scc is enabled.
But Go can't send channel switch announcement as go sends 1.5 sec
of NOA during sta connection with new channel due to which p2p may
get disconnect.
Fix is to not try to move to sta channel immediately. P2P Go will
try to switch channel only after NOA completion which is 1.5 seconds.
Add delay work queue of 3 seconds to handle worst case scenario when
BT is on and P2P tries to switch channel.
Change-Id: I557940dfc79da4922694ed24a573e41aae75c09a
CRs-Fixed: 2989207
Host driver enables hi-rssi roam trigger when STA roams to 6Ghz
AP. But hi-rssi trigger should be enabled only for 2.4Ghz AP
else it will cause frequent roams even though connected to
good candidate AP.
Disable hi-rssi roam when roamed to 6Ghz band AP.
Change-Id: I2ea2d06634963c1190aa1ca0d466b0873e36fbfe
CRs-Fixed: 3001090
Currently, wmi_roam_scan_chan_list_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I8f59f9ebfe1bbdc7ef37ccc1f10178fe8128e912
CRs-Fixed: 2990376
Currently, wmi_vdev_disconnect_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I2486cc3f63c4b35305b60ac55cd0a622c7185323
CRs-Fixed: 2990373
Currently, wmi_roam_blacklist_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I41d2ef6c228acd8f86f24107c02d11f1a8ac6dea
CRs-Fixed: 2990369
Set gRemoveTimeStampSyncCmd ini to 1 by default so that even for more
than 60 seconds, the device can stay in RTPM WoW mode.
Change-Id: I560389dd9c7d5a33d01c092ad057a7a7aa6f7c37
CRs-Fixed: 3003718
Currently, wmi_roam_event_id data is extracted and processing is
also done in wma. This is not inline with component model where
target_if takes care of data extraction and handover the extracted
data to corresponding component(connection mgr in this case).
Add changes to support the same. As the legacy CSR/LIM is not
yet converged, have a wrapper from connection mgr to wma to call
these legacy APIs.
Change-Id: I0e22bbccfe21200b90771a01f9ee7454f4ecb119
CRs-Fixed: 2990355
In ROAM DONE event handling, policy mgr restart sap is not invoked after
updating the connection info and hw mode info thus not restarting the sap
after roam sync
To solve this, adding policy manager check after updating the policy
manager connection table.
Change-Id: Ifb8a5eecb98c05166986052ccc32422dbbe3bef7
CRs-Fixed: 2991721
Currently, host driver expects NDP_END indication from firmware
within 2 seconds after sending request to firmware. Driver shall
timeout and cleanup the corresponding NDP entry if no response is
received within 2 seconds. But firmware may take upto 2.5 seconds
to exhaust the NDP_END frame retries.
So, increase the timeout to 4 seconds to accommodate these retries
and to be inline with current NAN_DISABLE timeout.
Change-Id: Ida1abc25b4ff64aea810c88dbf36f9577b23ffd8
CRs-Fixed: 3002176
In a beacon template, there is a mismatch of twt responder bit in
HE caps and extended caps.
During start BSS, there is a kernel flag related with twt
responder. Intersect this kernel flag and service bit capability
before calling twt enable/disable api in start BSS.
Change-Id: I0725fc560904c622cc47f43958bcd490daacfa2f
CRs-Fixed: 2995538
HAL_RX_DESC_GET_80211_HDR is replaced by hal_rx_desc_get_80211_hdr
api. Due to this compilation error is seen.
Fix this by using new api hal_rx_desc_get_80211_hdr instead of
HAL_RX_DESC_GET_80211_HDR.
Change-Id: I52bbae9d1a58cb13c8e6706a47e300db824251f3
CRs-Fixed: 2992548
Use wlan_cm_is_vdev_roaming() API in wma, instead of
wma->interfaces[vdev_id].roaming_in_progress.
Change-Id: Icb88246b2c45c052a1d42dece4983b1e534fe608
CRs-Fixed: 2993180
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