The issue is host always uses assoc link channel width
to calculate the list of the channel(s) to trigger
wide band scan for both links.
In the case of N link MLO connection, the associated
channel and associated channel width may be different
for assoc link and non-assoc link(s).
Fix is to choose the proper associated channel width
and prepare the channel list for each link(s).
Change-Id: I2fce5d1153d396f1bfc9575572d90d2cfec0ac8a
CRs-Fixed: 3539444
Disable BSS color collision detection for the following-
- Testbed STA for all modes
- STAUT if EHT mode is EMLSR.
As part of BSS color collision detection, scan is invoked in
FW after the defined detection period and as part of this,
EMLSR exit happens in the middle of tx/rx. Thus, disable the
capability for EMLSR mode.
Change-Id: I6417f7c081c1408372924b20d8985a597a536e27
CRs-Fixed: 3507796
Add check to determine whether FW support multipass
SAP before enabling multipass support
Change-Id: I7db5a7bad6b9ac89c8c4e7c4c177695671402657
CRs-Fixed: 3515310
Set MAX supported BW for STA so that the device can connect
to APs which are advertizing 20 MHz in beacons but increases
in association response and next beacon.
Change-Id: I8ed418382f696c7461235996c4e90201cafafcb3
CRs-Fixed: 3415718
Process GET_CU_FOR_EACH_SUB_BW request from the upper
layer in case DUT is connected with a channel width
of 40 MHz and the connected frequency is in the 2 GHz
band.
Change-Id: Idc748f83af72baed946340c61d5c6a0bba1baf00
CRs-Fixed: 3506871
Add support to boost or reduce MLO scoring with
mlo_tp_preference_percentage ini.
Change-Id: I0a1280fe259d9e65e5f0f991d456f650b9d1be69
CRs-Fixed: 3456412
Add function wlan_mlme_convert_he_op_bw_to_phy_ch_width, check 80+80 or
160 with ccfs0 and ccfs1.
Add 20M/40M check for vht bw with prim chan id and ccfs0.
Change-Id: I01a407358d7c310f92c8a69004ebb002b615438a
CRs-Fixed: 3511291
Chan width 1 in vht operation means >=80M, while chan width 1 in eht op or
he op means 40M, need be handled in different way.
Change-Id: Ib65dca6245c33f07df351b6ac7eed86f91b372c7
CRs-Fixed: 3506080
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.
Change-Id: I0f20d63f68b2424390ca424188f95f26971c9ada
CRs-Fixed: 3470602
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.
Hence remove this cfg item and the related APIs.
Change-Id: I3a48a3c6343e57f4f2386ebbab1f88d5052af505
CRs-Fixed: 3470571
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Change roam abort background scan log instead of fail.
Change-Id: Ia10f010e8c353b12bdbbe0407c8e3d30b1ea45c2
CRs-Fixed: 3469290
As per requirement, for MLO connection host should reject
GET_CU_FOR_EACH_SUB_BW request and return failure to upper
layer as a response.
Change-Id: I8177d92982c832a17c1657239b69cc3712e1eaf4
CRs-Fixed: 3476349
If STA connected with MLO AP, don't process ch_width update
with notify request.
Change-Id: Id2e0d6357feac13787abcafe8b9d69a0c64dbedb
CRs-Fixed: 3472173
Host receives QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH vendor
command indication to update STA adapter channel width.
On receiving channel width update indication from upper layer,
first host updates internally and send new channel width value
to FW via WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY.
Target firmware should take care of notifying associated peers
(except TDLS) about change in bandwidth, through OMN/OMI
notification before performing bandwidth update internally.
Change-Id: I517ed1fbf8d074e511f8fb43c9c1dac824c9f084
CRs-Fixed: 3469473
Disconnection is logged even if keepalive indication is
sent to host after firmware sending final beacon miss
event.
Add two new roam failure reason code to indicate roam
failure and send final beacon miss.
ROAM_FAIL_REASON_NO_AP_FOUND_AND_FINAL_BMISS_SENT: Indicate
roam failure when no ap is found and final beacon miss
is sent.
ROAM_FAIL_REASON_NO_CAND_AP_FOUND_AND_FINAL_BMISS_SENT:
Indicate roam failure when no candidate ap is found and
final beacon miss is sent.
Change-Id: I6d7a6034f8be5388dd35dd3c05fecfd40a8d888d
CRs-Fixed: 3437060
As part of new requirement of 'SAP PS with TWT enabled',
add ini 'g_sap_ps_with_twt_enable' support in host
to enabled/disabled SAP power save with TWT enable.
Change-Id: Iea76f9cdef6f0753a6dfcebedc2aeab17d121faf
CRs-Fixed: 3421610
Firmware sends beacon/probe rsp received to host as part of roam
sync(frame) indication. Frame received frequency is same as
re-association frequency in case of non-ML or single link ML
roaming.
But the ML probe response might come from non-assoc link in case
of multi link roaming. Probe response received frequency and
reassociation frequency are different in such cases. Some
IEs(e.g. HT_INFO) expect frame received frequency to match with
the frequency mentioned in the IE.
So, fetch the probe response received frequency from source
address of the frame and the ml_info of roam sync indication.
Change-Id: Ife96aa46de10d4cd6882e6d04479dfdd481582d4
CRs-Fixed: 3412842
Add support to configure EMLSR padding delay subfield.
Host should advertise this value in assoc request if
it's greater than the value configured by FW during boot.
Change-Id: Ia9b1e748745278ed502980697f4851f8044db658
CRs-Fixed: 3364158
In the case of EHT, if the mode is MLO then set AMSDU/AMPDU
caps per vdev instead of setting it only on assoc vdev.
Change-Id: Iaf480ee6a42cea83e30f412f663f688c0330d246
CRs-Fixed: 3392015
Even primary interface is configured, if dual STA policy is
STA_POLICY_UNBIASED, MCC is disallowed for both roaming and connect.
Change-Id: I6e26fdcdc930eb116771abfe310811c6534be09f
CRs-Fixed: 3396425
Add ini groam_info_stats_num used to control wlan driver
cache roam statistics information number.
Change-Id: I203257af37dcac76c6822ddfcc2e9dc723078a25
CRs-Fixed: 3393712
Some legacy STA doesn't recognize the EXT CAP IE with
length greater than 8bytes. Therefore, these STA cannot
associate with hotspot broadcasting newer capabilities
in the extended IE.
To fix this, add an ini which would override the beacon
protection config in host driver.
Based on this ini, the beacon protection would be disabled
only for non-6 GHz and non-11be SAP profiles, as beacon
protection is mandatory in 6 GHz and 11be cases.
Change-Id: I672b707f6955fa31938aebba5e25461dd40cee4e
CRs-Fixed: 3378974
Whenever driver add new feature, it increments the feature version
and send it to firmware.
Due to new 11KV feature update, increments the feature version.
Change-Id: Ia840faf85c06a4f33f68f59dadda400c8e91804c
CRs-Fixed: 3381243
Firmware sends the roam scan info tlv to driver during roaming.
Currently, in this tlv, firmware fills scan type as (0-3) and
driver log this as "PARTIAL", "FULL", "NO SCAN" and "Higher Band"
But with new requirement, idle roaming shall only roam to higher band
(2.4 GHz < 5 GHz < 6 GHz) than current band.
1. If current band is 2.4 GHz, it cannot roam to 2.4 GHz.
It can roam to 5 GHz and 6 GHz.
2. If current band is 5 GHz, it cannot roam to 2.4 GHz and 5 GHz.
It can roam to 6 GHz.
So, to add this requirement, firmware introduces new scan type 4 for
which driver need to log.
Change-Id: I80d1c47a434da5009aed4cab08c6eae91bda5b0e
CRs-Fixed: 3379468
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.
To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.
Change-Id: Ie6bd2d1925048aef427136b34d00d361955f40b2
CRs-Fixed: 3377242
If phy regulatory capability doesn't support high or low
frequency indicated by MACRO such as HIGH_5GHZ_FREQ,
LOW_5GHZ_FREQ, we should not hard code to the MACRO.
The change adds new mlme API wlan_mlme_get_phy_max_freq_range
to get phy regulatory ranges from target info.
Change-Id: I95f48296ca093c20b1391d7657204eecfb418908
CRs-Fixed: 3376402
Currently host sends many pdev/vdev set param
commands separately to firmware from hdd.
Combine multiple pdev/vdev set params and
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Ib76f5bd5f582a2c67486f6773ff6fd486b3d84cf
CRs-Fixed: 3333732
Currently wlan_mlme_configure_chain_mask API sends many
pdev set param commands separately to firmware.
Combine all pdev set params of wlan_mlme_configure_chain_mask
send to WMI to reduce number of transactions.
Also replace target wmi pdev params with host wmi
pdev params to fix existing broken layering
violation.
Change-Id: If0b7bce9a7c87d0f07e7a9f1d2cd80139f027308
CRs-Fixed: 3151438
When update rate info to vdev mlme_priv, if in current assocrsp
there is no extend rate or mcs rate, need to clear such info.
otherwise such info is still last connection information.
the link rate will display wrongly, test step as:
1 connect with 11g AP
2 config AP to 11b, then connect manually
3 link speed will be wrong on sta side
if extend rate or mcs rate is not present, clear ext_opr_rate_set
and mcs_rate_set.
Change-Id: I8ff1b5804dbbe463d6949d0431079174446c64ad
CRs-Fixed: 3356077
If some 20M sub channels are disabled for puncture, bonded freq state will
become CHANNEL_STATE_DISABLE, while CHANNEL_STATE_DFS is expected if
DFS freq is included to pass CHAN_DFS_CFREQ2 to F/W by vdev start wmi cmd.
the check also happens in several other places.
To fix it, use API wlan_reg_get_5g_bonded_channel_state_for_pwrmode to
replace wlan_reg_get_5g_bonded_channel_state_for_freq and
wlan_reg_get_bonded_channel_state_for_freq.
set is_create_punc_bitmap of ch param as true, then bonded freq
state will become CHANNEL_STATE_DFS after
reg_update_5g_bonded_channel_state_punc_for_pwrmode called.
Change-Id: I3e5214e9e09ac2a959f6fa7d641173a80a3980a7
CRs-Fixed: 3360820
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like MLME, TDLS, Pkt capture in
DP component module.
Change-Id: Ib8857eeca6a88810d7875312ff6dc14ffb60bc70
CRs-Fixed: 3351486
Add WMI interface(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) to
configure EDCA/PIFS param for LL SAP.
This configuration depends on edca_param_type.
If edca_param_type is 0 then host will configure EDCA param and
send it to firmware via WMI interface.
If edca_param_type is 1 then host will configure PIFS param and
send it to firmware via WMI interface.
Change-Id: I09f49474c0a698257d06aa4f1a17b56aae735fa5
CRs-Fixed: 3349447
Clean up code for sme_get_valid_channels() and
sme_get_roam_intra_band() apis and
replace it with ucfg api.
Change-Id: Ic2f07e2193186d1e1ac81f6e5909417c10ab9c89
CRs-Fixed: 3335898
Currently callers are calling the wlan_mlme_get_sap_max_peers() API
to get the max number of peers without initializing the output
parameter.
In case of failure in wlan_mlme_get_sap_max_peers() API,
sap_max_num_peers can have uninitialized value which can lead to
undefined behavior.
To fix this issue, initialize the output parameter before calling
wlan_mlme_get_sap_max_peers()
CRs-Fixed: 3337315
Change-Id: I83ecaf80ccee7d92a66fe561c0a1a7bd409fd64c
Add 4 static cfg items for AFC feature:
CFG_AFC_REG_NO_ACTION, CFG_6GHZ_SP_POWER_MODE_SUPP,
CFG_AFC_TIMER_CHECK_DIS, CFG_AFC_REQ_ID_CHECK_DIS.
Add APIs to pass these settings to psoc private of regulatory
component.
Change-Id: I61114fb7bf7d84f939265629bde78813b6295e39
CRs-Fixed: 3153987
Currently host driver does not support dynamic NSS update for
SAP. Based on new requirement update NSS for SAP.
To achieve this requirement, add a logic to update the NSS and
restart the SAP with the updated NSS based on the ini.
Change-Id: Ie770b1103ba4050c48cd4ba3674a5e0d89c86fdf
CRs-Fixed: 3307308
On client connection, send the client's MLD address, assoc response IEs
and the link_id of SAP on which the new client is added.
For non-MLO capable clients the MLD is sent as NULL address
On ML client disconnection, use MLD address of the client as argument
to cfg80211_del_sta().
For non-MLO client disconnection, use the legacy address of the client
as argument to cfg80211_del_sta().
Change-Id: I43cb8e688251b6118932e1ae88f7abdf53dd54a0
CRs-Fixed: 3324216
Currently sme_switch_channel set new_ch_width as phy_ch_width, while
wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth
channel switch IE.
Clean up the code. Define new_ch_width in csa_offload_params as
phy_ch_width.
Change-Id: Iadecc7693bf4ffd9f9562405ef18ea9d25d45c9e
CRs-Fixed: 3324762
Remove WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD which is sent to
initialize the hardware registers. The initialization of hardware
registers is done as part of WMI_VDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD
Change-Id: I272fbd6723836efb9864cb78bdaf3e0eacf45554
CRs-Fixed: 3329913
Add sr_enable_mode ini to check SR(Spatial Reuse)
can be enabled for non-STA mode or not. If SR
can't be enabled for non-STA mode and concurrency
is not allowed then don't allow any SR operation.
Change-Id: I876882c48c54f216bc1d0efa4dccce63f2a2e63c
CRs-Fixed: 3311374
With MACRO FEATURE_WLAN_CH_AVOID_EXT enabled,
"restriction_mask" can only be checked if
coex_unsafe_chan_nb_user_prefer = 1. If the INI
coex_unsafe_chan_nb_user_prefer = 0, do not need to check
"restriction_mask". It will remain uninitialized 0.
Change-Id: If7bd1223ee3779b72fadb40e622f682db03f4ea5
CRs-Fixed: 3287634
If user sets flag ASSOC_REQ_DISABLE_EHT in connect request, driver
will send action oui "ffffff 00 01" to host mlme and also firmware
for action id ACTION_OUI_11BE_OUI_ALLOW, so that all the AP will
be not matched with this OUI and 802.11be mode will not be allowed,
possibly downgrade to 11ax will happen.
If user doesn't set ASSOC_REQ_DISABLE_EHT, driver/firmware will
recover to default oui setting.
Change-Id: I9eab732f1bd29018d44b215c1d6c9bfac9dafe95
CRs-Fixed: 3314489
Userspace provide below vendor attribute for low latency sap
concurrency
a. QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG
This userspace uses the below value defined in enum
qca_wlan_concurrent_ap_policy_config to specify concurrency
policy
a. QCA_WLAN_CONCURRENT_AP_POLICY_UNSPECIFIED = 0,
b. QCA_WLAN_CONCURRENT_AP_POLICY_GAMING_AUDIO = 1,
c. QCA_WLAN_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING = 2,
Convert this above enum value in host to use in concurrency
scenario.
Change-Id: Ibab06f528fd99d8c421376bd02e4c748e9556b70
CRs-Fixed: 3302418
Add INI g11be_oui_allow_list to config 802.11be AP oui which
is allowed to get connected in 802.11be mode.
If the INI is empty, all the ap are allowed to get connected
in 802.11be mode. If INI is set to "ffffff 00 01", then STA
is not allowed to connect to any AP in 802.11be mode.
Change-Id: I98e545ba909c1746237a20c365f8297f16fe666f
CRs-Fixed: 3304021
Send WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD during PDEV
init with disabled PD-Threshold value to initialize SR related
registers in HW.
Change-Id: I49e73c76974e098b6dfbf647a898b53abf8ea2ba
CRs-Fixed: 3306179