In ucfg_wlan_mgmt_rx_reo_sim_stop() when mgmt rx reo simulation
is in progress, wlan_mgmt_rx_reo_sim_start() is called
incorrectly instead of calling ucfg_wlan_mgmt_rx_reo_sim_stop().
Fix this by calling ucfg_wlan_mgmt_rx_reo_sim_stop() instead of
wlan_mgmt_rx_reo_sim_start() in ucfg_wlan_mgmt_rx_reo_sim_stop().
Change-Id: I906618fc87448cefae54bdcdf00c7f64217362fd
CRs-Fixed: 3154187
Consider the case where the AFC server response initially,
has only one 20 MHZ channel available for operation and AP is operating
on SP on that channel. In the next response, the AFC server response
advertises support for all UNII-5 and UNII-7 channel. In this case,
the AP VAP does not come up in the new channel chosen by ACS.
The super channel list is not being reset on every AFC response received
from the target. Also, if the current power mode is SP, and the target
power is also SP, reg_set_ap_pwr_and_update_chan_list does not the same
power mode configuration. Due to this, the current channel list and
super channel list are not updated, and therefore the VAP fails to come
up in the new channel chose by ACS.
To fix this issue, reset the super chan list on every AFC response
received and remove the check to prevent the same power mode setting
in reg_set_ap_pwr_and_update_chan_list.
Change-Id: I52f24038ef904e4f8ede6861b7e4a0cdcd9607b0
CRs-Fixed: 3154057
High CAC timeout is seen for weather and non-weather DFS channels.
This is due to the delay in 5.4 Kernel timers. There is 1 second delay
observed for every 60 seconds.
To fix this issue, replace qdf timers with HR timer for CAC timeout.
On CAC expiry, when VDEV UP is sent to FW, serialization timer is
cancelled. Since CAC expiry is processed in H/W interrupt context
(while using HR timers), no other timer cancellation is allowed.
Hence, process the CAC timer completion in work queue context to allow
other timer cancellations by the CAC thread.
Change-Id: I92c4662decbba27261448327abb16708d941d778
CRs-Fixed: 3142394
The regulatory pdev private object is used directly without a NULL pointer
check in the API reg_get_pwrmode_chan_list.
Add a NULL pointer check for the regulatory pdev private object to prevent
NULL pointer dereference.
Change-Id: If6f9daf5d88a8fb9fba1b184721ba10e96ad0e2e
CRs-Fixed: 3159429
Add empty definition for function in the case where the
6G feature is disabled. This fixes a compilation issue.
Change-Id: Idef12549cdfa9b3cb75b06fe04888e7c50356042
CRs-Fixed: 3162125
Add pdev open handler for management Rx reorder module.
This handler stores all the snapshot addresses to the pdev
private object of mgmt Rx REO module.
CRs-Fixed: 3111704
Change-Id: Iaf12b4edb568b2a32ff901ad5d0f0717b190906b
MLO HW link ids need not be continuous. Handle
discontinuous link id values at host.
CRs-Fixed: 3111570
Change-Id: I561cdabed8a6b621dba87c49832f5c1d1b194b9a
Validate the MLO HW link related info obtained from the global shared
memory arena of management Rx reorder feature.
CRs-Fixed: 3111549
Change-Id: I6fd7812dc49bfa8428b2ffbf66ae978592734bc0
Add the following APIs related MLO links in MLO manager.
1. Get number of active MLO links
2. Get valid MLO link bitmap
CRs-Fixed: 3154979
Change-Id: I49c544a5c73a9ce72305bbe83230a4566d909095
The API reg_get_ch_state_based_on_nol_flag() is a common API and in its
definition it calls the API
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() which is defined for
the 6G specific macro CONFIG_REG_6G_PWRMODE. For non-6G callers, this
function is not defined and will lead to implicit declaration compilation
error.
Add a non-6G version of the API
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() so that, it can be
called in reg_get_ch_state_based_on_nol_flag() even for non-6G PFs.
Change-Id: I810af65c7580f9a5dbfb2df25530dd95261e2a80
CRs-Fixed: 3161629
The API reg_get_ch_state_based_on_nol_flag() calls the function
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() which is part of the
header wlan_reg_services_api.h. This header is conditionally included
using the macro CONFIG_AFC_SUPPORT which is not enabled for all the PFs.
Remove the condition header file inclusion as
reg_get_ch_state_based_on_nol_flag() is a common API for all PFs.
Change-Id: I3f6cc301474648fdd6a2937421ee0421a0788856
CRs-Fixed: 3161629
Currently, host supports max 2 number of AKMs in connect req.
Add support for max 5 number of AKMs in connect req from
userspace.
Change-Id: I889124257c374092128e92f0f1eca1e1d0711f49
CRs-Fixed: 3151412
Currently, Userspace can send multiple AKMs in connect req.
For 6GHz, some AKMs are not supported. Suppose in multiple
AKMs, any AKM doesn't support 6GHz then driver returns failure.
Due to this, DUT doesn't not able to connect to 6Ghz.
Fix is, allow 6Ghz if any 6Ghz AKM is supported.
Also adds necessary prints in scan filter API to help
debug the candidate rejection.
Change-Id: Id9967af5ec7f64e95b33dd8be3bd6c9649e72bb2
CRs-Fixed: 3158489
Add support for tx monitor flush/drop/truncated handling
and few minor fixes from txmon
CRs-Fixed: 3158502
Change-Id: Ic13476984cd591a381941cfa1501307e9cca2b5a
When non-TLV targets are used, the WMI event table is not populated.
So, it shouldn't be treated as fatal and WMI event register/unregister
functions can return NOSUPPORT instead of FAILURE.
Handle this value in TWT code.
Change-Id: I5bc8e7aae2e572c84ea0333c967cff527d5cbcc3
CRs-Fixed: 3145077
Add support for MLO target recovery. Add MLO target recovery
types, add API to cleanup the asserted SOC's MLO setup info
during recovery.
CRs-Fixed: 3153534
Change-Id: Ibcfab35460de0c7b458377e24e63ab63cbe39e3c
Log level was accidentally increased hence reducing log level
to info to avoid unnecessary prints on console.
Change-Id: Idbe495cbdc8a17112f034083c2f8ebf297dcdc6b
CRs-Fixed: 3157393
Rename is_treat_nol_as_disabled and is_treat_nol_as_dis to
treat_nol_chan_as_disabled in the regulatory component.
Change-Id: I3f372ee1707b40e2bdcd5ca53b77e6b8f76c456b
CRs-Fixed: 3157756
Peer MAC address is not specified when get_peer_by_mac fails.
We should print the peer MAC address with debug message.
Change-Id: I5f559e6ba7373e8fef851f8035008cfaba8a3574
CRs-Fixed: 3155419
Update cfr metadata version for Pine and HKv2 as agc gain
table index is reported newly on these targets.
CRs-Fixed: 3158325
Change-Id: I17fe5a78ec44e1528e6187535a803c729734dd18
TLV wmi_bcn_tmpl_ml_params was used to send the CSA/Quiet related
information to FW for the partner links. This TLV is deprecated now as FW
internally derives this information for the partner vdevs. Hence, set the
size of this TLV as 0.
Change-Id: Ibd783f5eed93872a6953dc2231b019f27a41109d
CRs-Fixed: 3157298
Currently, max monitor status buffer count per ppdu is 32.
In case of multiclient test cases, number of status buffers per ppdu are
33 and leading to assert.
Increase per ppdu max monitor status buffer count 128 to take care of future
use cases like MU-MIMO, OFDMA.
Change-Id: I083304ef23a1d58af24062441d8ad9b2d229f7b1
CRs-Fixed: 3156689
Include a UTC timestamp when constructing the CFR header,
represented as a 64-bit nanoseconds value. This will allow
for better correlation with ground truth data.
CRs-Fixed: 3156846
Change-Id: Ic5308bcd591d641e715ded8e4b75d447160dbbce
When SAP off and psoc idle shutdown happens before NOL timeout,
DFS pdev obj is destroyed, NOL timer is cleared, since regulatory
pdev private obj is destroyed before DFS, psoc master channel list
nol flag isn't cleared for regulatory pdev private obj is NULL.
When pdev current channel list is populated from psoc master channel
list, nol channel becomes disabled, can't be used any more.
To fix it, when DFS private pdev obj is destroyed, don't access
regulatory pdev private if destroyed, but still clear psoc
mas_chan_list nol flag.
Change-Id: I79dad84631179d78d05c2738ce0aa4f863def7d4
CRs-Fixed: 3158675
For SW2HW ring, if time threshold is non-zero and low threshold
is 0, then if ring is empty, HW will keep generating low threshold
interrupt always which then LPL failed.
Configure SW2HW ring timer threshold 0 to disable low threshold
interrupt, also set batch_count threshold 0 as host not need the
interrupt if HW consumed entries.
Change-Id: I6c8ea516e66abd706fecd97649f3a19702453b85
CRs-Fixed: 3149341
1) Currently, the channel state and chan flags of the super channel list
are not initialized. To fix this issue, initialize the channel state
and chan flags of the super channel list entries to
CHANNEL_STATE_DISABLE and REGULATORY_CHAN_DISABLED respectively.
2) The best power mode calculated in reg_fill_best_pwr_mode is incorrect.
To fix this issue, pass the reference of max_eirp_pwr to
reg_update_sup_ch_entry_for_mode to avoid the reset of max_eirp_pwr.
Change-Id: I624333f8fb89682771bd48e3f203509f7dadb41f
CRs-Fixed: 3145006