Currently, ongoing STA connection is not aborted when a
stop_adapter is received on SAP. This results in a peer leak in
the below scenario,
1. Turn on SAP.
2. Initiate STA connection to an SSID which has multiple BSSIDs in
dense environment. Connection gets retried to next BSSID when
it fails to connect to the current BSSID.
3. Turn off SAP while connection is happening. stop_bss command
doesn't get processed and waits in queue as the STA connection
is going on.
4. If stop_bss timer(10 seconds) expires while STA connection is
in progress, SAP vdev is destroyed without cleaning up self
peer. So, there would be a peer leak.
Abort the ongoing sta when SAP goes down, so that stop_bss gets
processed cleanly and self peer is also cleaned up.
Same is applicable for P2P_GO as well.
Change-Id: I888a602cd27a9bbec54fb356ed1488cd9fc2847c
CRs-Fixed: 2852023
In AP side power off/on case, AP security has been cleanup.
The STA side might still cache PMK ID in driver and it will always
use PMK cache to connect to AP and get continuously connect failure
in SAE security. This function is to detect AP off based on FW
reported BMISS event. Meanwhile judge FW reported last RSSI > roaming
Low rssi and not less than 20db of host cached RSSI to avoid
some false alarm such as normal DUT roll in/out roaming.
Change-Id: I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb
CRs-Fixed: 2841481
Since 5.10 kernel has removed NLA_EXACT_LEN, replace NLA_EXACT_LEN
usage with a new conditionally defined macro for it.
Change-Id: I700f40d9ff87331dbb23a44fcbe6e4a586ef286d
CRs-Fixed: 2849795
Currently host checks mac number to indicate
MCC or DBS which may not be correct. Host
may print DBS in case of MCC.
Check DBS support and print concurrency
based on hw mode if hw mode is dbs capable
then print DBS else MCC.
Change-Id: I1578e6a7a6b73b5b6c409653b4dc276954f51c3d
CRs-Fixed: 2845634
wpa_supplicant/framework sends different vendor specific IEs in
connect request. Currently driver is parsing the IEs and appending
specific IEs to the assoc request frame. But all vendor specific
IEs are supposed to be sent in the assoc request. Extract all vendor
specific IEs and append at the end of the frame.
MBO IEs are expected to be present at the end of the frame.
So append rest of the vendor IEs just before MBO IE.
This is a followup change for the change
Ia6423bb43b2ac294541c2485f5ed45d14af6553d to ensure the
"appending vendor IEs to assoc request feature is still intact".
Change-Id: Id788153ceb30c67f7ca9de9f3feea2d610cb21cb
CRs-Fixed: 2851362
Allocated a memory to hold the mbo IEs stripped from IEs received
from userspace. But this buffer is not freed in the below
failure cases,
1. Unpack of assoc request failure
2. Packet alloc failure
3. Packing of assoc request failure
4. Encryption of fils IEs in assoc request failure
So, move the freeing to a common label "end" to free the buffer in
all cases.
Change-Id: I7ad268fed1898ac9f62e30eb4bd3740cce9bb4bc
CRs-Fixed: 2662225
The change I3d49c72a31d142ef3b14b439af2ae4cd8be059ea adds support
to append the vendor IEs received from userspace to assoc request.
But this also fixes a memleak in mbo IE handling. It's better split
these two as the feature(appending vendor IEs to assoc request)
may not be needed on all branches but the memleak fix is needed on
all the builds which support MBO.
So, revert this change and raise these as two separate changes.
Change-Id: Ia6423bb43b2ac294541c2485f5ed45d14af6553d
CRs-Fixed: 2851356
Add support for below TWT commands to be sent as asynchronous
commands from userspace:
1. TWT teardown
2. TWT pause
3. TWT resume
Change-Id: I1989fe153cc8a482a9616a7f6879de3b92ef82fb
CRs-Fixed: 2847143
In order to resolve compilation issues with kernel 5.7+, add
conditional wrappers for pm_qos_notifier functions.
Change-Id: I7d6fad84f54f62f4a8d4ed68e86a1909e2eca243
CRs-Fixed: 2849793
In moselle, the runtime suspend and wow resume sync logic has
been added without any condition, since hastings is doing APPS
side PCI bus suspend which cannot be reverted on suspend failure,
so doing this sync logic only if wake irq type is CE interrupt.
Change-Id: I07dc5a99d0661fe1ef81e7a46e7053244edf8eb6
CRs-Fixed: 2851261
There are few API calls missing for connection manager
connect, disconnect response handling.
Add these missing function calls for connection manager.
Change-Id: If3f4bf42d0979ac36a1413e5fc4176c41d5b8f8e
CRs-Fixed: 2851144
Acquire connection list lock in policy mgr before update the
entry. The "conn_index" maybe changed for a connection entry
if other connection is up or down.
Fix by acquire connection to protect the whole "update" operation.
Change-Id: I91e82e74884ef32e83e0c4105e88bafe8d99db3d
CRs-Fixed: 2848209
Subscribe for offload Tx data wdi event and process offload Tx
data packets and post into mon thread for packet capture mode
Change-Id: Ic61043b8461eed4be5e8dc8d41baca2574224a90
CRs-Fixed: 2845598
Cleanup the struct sCsrNeighborRoamControlInfo and move params in
vdev ext object.
Change-Id: If5a490c68137622838afc831a4da0e1da7fa49c4
CRs-Fixed: 2850991
Fill dot11mode and cb mode according to the
bss description and IEs in LIM layer itself.
Change-Id: I55cdeffdd55cfc1787a2929b349aea25f499499f
CRs-Fixed: 2846126
The command should not be sent when device is in monitor mode.
But it is allowed in mission mode.
Change-Id: Ic21a8244425315577e7f0b2423c4fe6c5ac42702
CRs-Fixed: 2847777
Reduce excessive logging for roaming path to reduce latency.
Also remove function and line prints in roam debug related
logging.
Change-Id: Ida6fc55886c944126720f8bdd4b944765426ccc6
CRs-Fixed: 2847773
Unsafe channel list event does not change the current channel list.
Hence there is no reason to set the channel list again in wiphy and
inform the kernel. Thus, do not send regulatory event for unsafe
channel list.
Change-Id: I68d60fb412b4664430a9cdefa354fac4070bba7a
CRs-Fixed: 2788194
TWT HDD callbacks are registered dynamically when each TWT
command is received from userspace and unregistered while
sending response. This design was in place considering the
existing TWT commands are synchronous and multiple back to
back TWT commands will not be received. But now the TWT
commands from userspace can be received asynchronously.
So register the TWT callbacks statically during start modules in
wlan_hdd_twt_init().
Change-Id: I7dd9333c330a90fca421a2cc2574b2db76536e96
CRs-Fixed: 2830644
Add support for below TWT setup additional parameters:
Minimum TWT wake interval
Maximum TWT wake interval
Minimum TWT wake duration
Maximum TWT wake duration
Make the TWT setup command handling as asynchronous.
Send QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT event to
userspace when add dialog complete event is received
from firmware.
Change-Id: Ia56bbecd04e0c02a55dc1a7f43ee533a85f82f1d
CRs-Fixed: 2842895
Add legacy pointer in connection manager context to use for RSO
and other connection manager legacy operations.
Change-Id: Ibc665f53d77aebb3f248fedbdffd1cfe86492b25
CRs-Fixed: 2845980
Currently there is no sanity check for connected profile
which may lead to NULL pointer access.
To address above issue, add sanity check for connected profile
in association completion handler.
Change-Id: I2ed3d65287f4ea23cdf9c6c630b5e97e2c42c6be
CRs-Fixed: 2847694
Currently, host driver is checking for concurrency while handling
the pre_cac request. pre_cac adapter won't be deleted until SAP is
stopped. As a result the second pre cac request for the same SAP
will be dropped due to this concurrency check.
To avoid this, Don't check for pre cac concurrency if the pre cac
adapter is already exists.
Change-Id: I780c6310cf819da1a2f5c7c93590ccb1b544e7a4
CRs-Fixed: 2848736
In pmo_core_configure_dynamic_wake_events vdev reference is acquired
and its not released leading to the reference leak, leading to
vdev destroy timeout.
Release the vdev reference to resolve the issue.
Change-Id: Idd3bcb366f211e037ede278c91d6bcefd4165651
CRs-Fixed: 2850076