Scenario here is:
1. AP configured in 320 MHz
2. Set country code = KR in DUT, It means DUT does not
support connection in 320 MHz.
3. Trigger connection with AP, while processing driver
founds, country code is KR, so downgraded connected
channel with to next max supported channel width as
per regulatory rule (which is 160 MHz here) and
successfully associated with AP in 160 MHz.
4. After connection Host receives “get_channel” request
from kernel.
5. Host gets currently connected BSSID and fetch
corresponding channel information from scan cache.
6. As scan cache gets updated via beacon/probe response
from AP and here advertise beacon/probe response in
320 MHz. This results value of channel width for
connected BSSID is 320 MHz and same host fill in
get_channel response.
7. By this time driver connected in 160 MHz and
connected channel width indicated to kernel is 320 MHz.
Due to mismatch in channel width, kernel triggered
disconnection.
Fix is to update connected channel width in response to
“get_channel” request.
Change-Id: I7c4a262d337f9deb8cb4436cae537d0069a98de1
CRs-Fixed: 3810073
Currently, driver check peer mac address to filter out duplicate
command in serialization queue. This peer mac address will be
peer MLD address from North bound and link address from the south
bound. For multi-link SAP, if disassociation or deauthentication
request received for two links of same STA (MLD address is same but
link address is different), then driver queue disassociation or
deauthentication command in the serialization for both links.
This will lead to duplicate disassociation or DE authentication commands
in the serialization for same STA.
So, to fix this, add check for MLD address and link address in the
serialization filter.
Change-Id: I2619e3009b28ceba6af4383e36ae40af82020b5f
CRs-Fixed: 3790148
For 11ax SAP, when received radar, sap_is_chan_change_needed for 11BE
return false sometimes, target freq and bw is same as current, after
CSA, vdev restart failed in lim_process_sme_channel_change_request,
vdev becomes hung in SUSPEND-SP-CSA_RESTART. After 1 min, Kernel trigger
disconnect.
To fix it, if SAP isn't 11BE mode, sap_is_chan_change_needed return
true directly as legacy code.
Change-Id: I6db94c3117890d0ee924975af8b3c9efd9fb08ba
CRs-Fixed: 3789066
Add support to handle GET_KEEP_ALIVE_INETRVAL command.
If received command in connected state return keep alive
period configured to firmware but if command received in
disconnected state, if user space has set keep alive
period then return the user space configured value or
else return INI configured value.
Change-Id: I5d386ecd141531795b471198bd70afa20210bdc5
CRs-Fixed: 3818096
When connect 2 + 6 GHz MLO AP, 2 GHz is assoc link, when populate per
sta profile of 6 GHz in assoc req, use BW of current 2 GHz session
wrongly, so 320M is disabled wrongly in EHT cap.
To fix it, when populate per sta profile for assoc req, pass
pe_session as NULL since partner link pe session isn't created at that
time, don't clear 320M cap for 6 GHz link.
When config EPCS, update eht cap at same time.
Change-Id: I7422f0353cc087a24575f9be1d5b30a032cc7b8e
CRs-Fixed: 3821390
P2P GO negotiation request is supposed to come only on
DUT listen channel.
But there may be chance of leakage on 2.4 GHz because
the ADC sampling rate is 60 MHz, DUT would receive the
attenuated (Rx BBF filter) signal 60 MHz away. So, the
req may get received in non-social channel.
fix is, add new logic to drop the P2P Go Negotiation
request if it is received on non-social channel.
Change-Id: I12ddddd47cd9b494f618b1ba9b383118221ff9d2
CRs-Fixed: 3808813
Currently, when Rx monitor mode interface is coming up, STA is
not disconnected causing RXDMA ring to be used as both error ring
and destination ring. This is causing backpressure in RXDMA ring.
To fix this, issue disconnect for STA when Rx monitor mode is
being added.
Change-Id: I95e73edd80472a8aae9092ebdbce5e514b1cd531
CRs-Fixed: 3799325
If pre-cac channel from userspace is Non DFS channel but
the pre-cac bandwidth is set to 160 MHz which cover DFS channel
range, we still allow the request instead of reject it.
Change-Id: I9a0778855bf6659fab20ae0cc82a17d652b0d282
CRs-Fixed: 3748905
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