If dyn_modulated_dtim enabled and activated, vdev WLAN_LEGACY_WMA_ID ref
leak may happen in wma_add_sta_req_sta_mode.
To fix it, release vdev ref in all cases in wma_add_sta_req_sta_mode.
Change-Id: Ib1d8262760fdc644a382c1405cdfda8498703440
CRs-Fixed: 3716752
For mlo inactive links, F/W always set RSSI as -128, but report good old
link speed to host which doesn't match RSSI.
To fix it, when RSSI is -128, keep rate and links speed as 0, don't fill
old link speed from F/W.
Change-Id: I38562e724aa751ffaaad05a753fd479339468c62
CRs-Fixed: 3804884
Currently host rejects SET_KEEP_ALIVE_INTERVAL command if STA
is not connected. Instead of rejcting cache the KEEPALIVE
interval and apply after STA connection.
Change-Id: Ic45bceb6248f37afd2ab6348545a8c1eeb9e56d0
CRs-Fixed: 3814077
Currently there is no way to know the last imps state sent from host
to FW in case of WMI history overwritten, hence log the imps state
during WMI_PDEV_PARAM_IDLE_PS_CONFIG command send from
wma_enable_disable_imps().
Change-Id: I0e6605ce35d24a26b4056acc9864dbeefe0b53a9
CRs-Fixed: 3730533
GFP_KERNEL flag is used for vendor event allocation. But the
event is handled in IRQ context. So when kernel tries to
sleep while doing and event skb allocation, assert happens.
Pass the GFP flags based on the context in which allocation
is done.
Change-Id: Id58e417dc2ff203c512a14f06cd31b64e1834ef1
CRs-Fixed: 3812694
Support EAPOL send/receive over netlink, and meanwhile
add new function to update the source address of EAPOL
for the legacy wlan client in the mlo sap case.
Change-Id: I138f6f8367501771149929f90b8ff31eeafc8b11
CRs-Fixed: 3693871
If 3 SAP virtual iface are created first, then up, 3 MLD is
created during 3 vdev created, but 3rd failed to added to
g_mlo_ctx->ml_dev_list for WLAN_UMAC_MLO_MAX_DEV limit, when the vdev
deleted, assert will happen when remove MLD from g_mlo_ctx->ml_dev_list.
To fix it, need avoid the active number of SAP interface exceed
QDF_MAX_NO_OF_SAP_MODE, need add check when up SAP interface.
Change-Id: I0ba78d589dfc3c6351b48d4790e15c7d9da4961c
CRs-Fixed: 3795974
'sta_self_wmi_rsp' pointer might be used uninitialized
in wma_self_peer_remove func, To fix this issue,
initialize 'sta_self_wmi_rsp' to NULL
Change-Id: I8c6a0ebd8820ac0e1c303b9a932c7f8a8aadc1be
CRs-Fixed: 3687608
As part of SET_KEEP_ALIVE_INTERVAL command host configures
KEEPALIVE interval only for assoc vdev only and fails to
reset for assoc vdev during disconnect as partner vdev is
disconnected first this value gets reset during partner vdev
disconnection.
To address this issue set KEEPALIVE interval for all connected
vdevs and reset for both assoc and partner vdev during
disconnection.
Change-Id: Ib7d4e3208afa4d4a53f015cf8317d5e6f870daa3
CRs-Fixed: 3805847
As part of SET_KEEP_ALIVE_INTERVAL command host configures
KEEPALIVE interval for connected ml vdevs and resets to
default value as part of disconnect. In case of disconnect
as part of link repurpose host resets KEEPALIVE interval
and fails to set in connect case.
To address this issue, don't reset KEEPALIVE interval
incase of link repurpose and set it after connection.
Change-Id: Ia62109ceb32740844cfef3ef975ab15492e64b8c
CRs-Fixed: 3805788
The tx completion handler for the frame frees the buffer.
Therefore, usage of frame after tx completion causes undesired
effect.
Remove the dereference of tx frame buffer contents in
lim_tx_mgmt_frame() after the tx completion.
Change-Id: I32211e1bce4f96ba920a2212ef65aa39831666ab
CRs-Fixed: 3772014
If host founds below all conditions are true:
1. Connected AP sends CCX IE in beacon/probe response
2. single PMK feature enabled via ini
"sae_single_pmk_feature_enabled"
3. And current connection is SAE with AKM type
WLAN_CRYPTO_KEY_MGMT_SAE_EXT_KEY or
WLAN_CRYPTO_KEY_MGMT_SAE
Then host should mark connected AP supports
"single PMK feature" and update same to FW via RSO
command.
Change-Id: I831cfefb60271b03e5c5cbdfde0bd5277ee116e0
CRs-Fixed: 3795133
Currently bool values are not initialized and results
in unexpected values for bool variables,
Hence this change is to initialize structure to
NULL before use.
Change-Id: I07ec3880d35441d3dc84eaa44640ad07eba0b3c9
CRs-Fixed: 3800965
In the case of of 5 GHz + non-tx 6 GHz MLO connection, the scan entry
generated from the ML-probe might not carry MBSSID information of the
non-tx partner. The RNR of the assoc link will also not be inherited.
Therefore, the mbssid info is not generated for this non-tx 6 GHz scan
entry. In such cases, if there is a vdev restart, host driver sends zero
mac address in trans bssid, leading to issues with connection.
To fix this:
1. Look up the RNR db for the 6 GHz link, and determine if the bss param
corresponding to the bssid is non-tx MBSSID.
2. If it is a non-tx MBSSID and there is no mbssid info in the scan cache,
then configure the tx-bssid as broadcast mac.
3. This allows the firmware to auto-detect the tx bssid from the upcoming
beacons.
4. Also, save the neighbor entries from the beacon/probes received from
the firmware during roam sync and other events to facilitate the look-up.
5. If there is no existing entry for the roamed non-tx link, then caching
the neighbor info from the assoc partner link would store the valid entry
into the rnr db.
Change-Id: Ie5ef03fc8504cd63f6db98d2ce4af7eb5c2d7e00
CRs-Fixed: 3789675
After roaming to 11BE 320 MHz EHT AP, the channel width is wrongly
updated as 40 MHz in newly created pe_session. This causes wrong
channel info to be sent to kernel in the get sta channel request
and could result in disconnection. In lim_fill_ft_session(),
the chan_width is updated from VHT OP or Vendor VHT OP IE only
currently. But in 6 GHz EHT 320 mode, the VHT OP IE will not be
present and default 40 MHz is assigned.
So extract the channel info from EHT OP IE and use that to fill
the ft pe session created after roaming
Change-Id: I81b52391e69dfe87b103ca1ee90dd9658f02273a
CRs-Fixed: 3746276
Pointer mac is returned from function cds_get_context which might return
NULL. So NULL check for mac pointer is added before dereferencing it.
Change-Id: I9258dc625144650c077fd457827fc24610732b77
CRs-Fixed: 3746451
Host driver doesn't disable RSO before restarting the vdev
for fw-initiated as well host-initiated CSA or BW change for
link vdev. Therefore, if the FW is in middle of roam(for host
initiated CSA) cases, this restart leads to race condition in FW.
Add a new reason code for VDEV restarts triggered due to CSA,
enable/disable the RSO SM based on this new reason code for
assoc as well as partner links.
Change-Id: I48925d76df62bb1c60f212048b95c434af18042f
CRs-Fixed: 3770973
In the api hdd_set_nss_params() and hdd_set_antenna_mode()
change in nss parameter or antenna mode cause the TDLS
teardown.
Add a check in api hdd_set_nss_params() and
hdd_set_antenna_mode() to prevent change in parameter
if there is a existing TDLS connection.
Change-Id: I8a58b8b0a617a8de490907e4c3181b15d90e0dbb
CRs-Fixed: 3789892