When SAP and STA both are in 11n mode then STA doesn't populate
twt_req bit during assoc req. Because of this TWT commands failed.
As part of fix, check the below variable before setting twt_req
1. TWT requestor support from firmware
2. Enable TWT ini
3. TWT ini support in 11n
4. TWT requestor support from host
Set twt_requestor bit only if all above variable are set.
Change-Id: I77f2397f986b517cd5292109927eece7fdb4c7c1
CRs-Fixed: 3210015
Currently host sets wmi_vdev_param_set_traffic_config param
id to set traffic config param but convert_host_vdev_param_tlv
is disabled for MCC. so, latency/throughput flag is set for host
param id 0x99 but in FW vdev param id to configure traffic type
is 0xB6.
Fix is to update vdev parm id to 0xB6 to keep same vdev param
id in both Host and FW.
Change-Id: If67d00308810920e9a621fdfff1b05bcccc2e047
CRs-Fixed: 3209724
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.
Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
In the current driver implementation, check for ml_vdev_count
before invoking get_station_cb for MLO station stats is missing.
This causes timeout and failure to get station stats.
To resolve this issue, add sanity check for ml_vdev_count
before invoking get_station_cb for MLO station stats.
Change-Id: I2e8fca1b732b1e8638cec6536ea70d2174c287f7
CRs-Fixed: 3209608
Currently if SAP is operating on 5GHz channel and if country change
happens to a world mode where SAP is not allowed on 5GHz channels so
SAP moves to a 2.4GHz channel and saves the current operating 5GHz
channel, now when again country change happens then SAP tries to
move to previous 5GHz channels, if SAP is not allowed on this 5GHz
channel in new country, SAP comes up on 2.4GHz channel.
Ideally SAP should come up on some other valid 5GHz channel instead
of 2.4GHz channel.
This scenario is possible for 6GHz channel as well.
To address above issue, add a fix to get first valid same band channel
if previous same band channel is not valid channel.
Change-Id: I39dc297846c838731a70cd01d696bcbd8a054970
CRs-Fixed: 3175740
SAP is allowed to come up on SCC with a STA operating
in 6GHz only if the STA is on a PSC channel in VLP mode.
Therefore, filter out all 6GHz channels from the PCL if
the STA operates on any non-VLP mode. Also, in case of
VLP mode, filter out non-PSC channels.
Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc78
CRs-Fixed: 3206471
Sta is not allowed to connect/roam in 6 GHz frequency or indoor
frequency in non-DBS target if SAP is active.
But STA roams to 6 GHz AP when SAP is active since the PCL allows
6 GHz frequency.
While populating PCL to firmware, check if 6 GHz and indoor
frequencies are allowed for non-dbs target and set the
weight appropriately if the channels are not allowed
Change-Id: I0e5fdc5b3c4177283d91cdfc58359336cc11910d
CRs-Fixed: 3205494
When STA is connected to non-dfs, non-indoor channel and
SAP starts second with mandatory channel list enabled,
then SAP is moving to 2.4Ghz. But SAP should follow sta
and move to non-indoor, non-dfs channel.
Also when STA is connected on DFS channel and when SAP
is coming up with g_enable_sta_sap_scc_on_dfs_chan,
then SAP also should move to DFS channel
So when PCL channels are filtered based on mandatory
channel list, then allow dfs/indoor channels based on
concurrent STA frequency.
Change-Id: I2bcb81a8b014108b07db36a31d03d0a16fe49eb9
CRs-Fixed: 3207750
If macro WLAN_FEATURE_11BE_MLO is enable, get_station_stats_cb for
TYPE_STATION_STATS is called only if last_req->ml_vdev_info.ml_vdev_count
none zero when WMI_UPDATE_STATS_EVENTID event comes back.
This causes timeout and fail to get station stats for legacy device or for
MLO device which does not set last_req->ml_vdev_info.ml_vdev_count.
To resolve this issue, add sanity check legacy device before invoking the
callback and set last_req->ml_vdev_info.ml_vdev_count if it is MLO device.
Change-Id: I8ca325482fc32de87cbedcba7d4af17d3876cbbc
CRs-Fixed: 3202588
Add log to check which mode, vdev and freq is
added as disabled ml link and dump disabled
links after moving vdev from connection table
to disabled link table and decrement session
count only if provided vdev entry is present
in connection table.
Change-Id: I19cd9323b7b66b29366f2ac930798da8ef91a709
CRs-Fixed: 3205975
When disconnected request started for an MLO connection,
link vdev gets disconnected first and then assoc vdev. So active
disconnect request is queued for link vdev first. As part of
RSO stop request-response handshake, the disconnect request is
cached and RSO stop request is sent to firmware. Disconnect is
supposed to resume for link vdev after getting the RSO stop
response . But currently, first MLO vdev gets checked if it
has active disconnect. This may fail to fetch the active
disconnect request if the first vdev in the list is assoc vdev
as it doesn't have active disconnect but link vdev has.
Check if it's a link vdev to resolve this and fetch active
disconnect req always.
Also, if there is only one link present(e.g. single link
connection or failed to connect the secondary link, etc.. ) in the
vdev_list, current release of vdev refs at the end of the API
wlan_cm_mlo_update_disconnecting_vdev_id() is not valid as it's
trying to release all links. Release only the links for which
reference is taken.
Change-Id: Idcb8a979dbdadafd4690e51a7301c4a7dfe82f73
CRs-Fixed: 3203969
Add API ucfg_mlme_set_vdev_traffic_high_throughput &
ucfg_mlme_set_vdev_traffic_low_latency to configure the
high throughput and low latency to vdev. In MLO STA concurrency
cases, the host or target may disable a certain link
based on the flags.
Change-Id: Iaae7cfdeb55e0086572b071d83520278aa3425ea
CRs-Fixed: 3191501
In SAP+GO concurrency, if GO is started on 2.4 GHz and SAP is
doing ACS with 2.4 GHz preferred channel list, then we will
move GO to 5 GHz band. The purpose is to have more choice
in SAP ACS instead of starting on GO home channel for SCC.
Add API hdd_handle_acs_2g_preferred_sap_conc for such
purpose.
Change-Id: I6f2b4bab526c7e1c9163b8437c40350d3bf10bab
CRs-Fixed: 3181419
When SAP and GO home channels are in MCC in same band,
implement below requirement to avoid MCC:
1. SAP starts at first and GO starts later, then SAP will
force SCC to GO's home channel after GO starts up.
2. GO starts at first and SAP starts later, then SAP will
force SCC to GO's home channel during starting up.
3. SAP and GO SCC in same band, SAP changes channel to
the other channel in same band, GO will follow SAP and
move to SAP home channel.
4. SAP and GO SCC in same band, GO changes channel to the
other channel in same band, SAP will follow GO and move
to GO home channel.
And all the force SCC cases, if the target channel of force
SCC is not supported by the SAP or GO, then driver will
select other band's channel for the interface.
Change-Id: I7b24f3a972a401fd144a0c81dc19bd48ba224d85
CRs-Fixed: 3176087
Currently, wakelock is only taken during initial connection if
pairwise key installation is pending and not during roaming. This
may lead to EAPOL delay/timeout during roaming as runtime pm and
suspend is allowed during roaming. To fix this issue, acquire
wakelock if key installation is pending during roaming.
This change also refactors the code and release the wakelock in
wma_remove_peer if EAPOL fails during initial connection or roaming.
Change-Id: Id4cac30b3c383ca3d3e963571846f8a30eaa1006
CRs-Fixed: 3189799
When verifying WNM BSS transition function, it's possible to
ask peer STA to transition across multiple band. Some vendor
BTM implementation is needed to check country IE to get all
supported band channel info. Without full channel list in
country IE, it cannot make a transition across multiple band.
To solve the interop issue, let country IE take all supported
band channel info when the specific vendor OUI is detected in
association request.
Change-Id: I78dd4b88937277b54a7da4d72d8a94706965e9a6
CRs-Fixed: 3196957
Currently driver checks TX flag only for authentication
frames. This causes wrong tag for the frames.
Check TX flag for Deauth/Disassoc & authentication frames
also.
Change-Id: Id499bc1978ee72bac2435be165b31d0db49ce9d8
CRs-Fixed: 3203858
Currently in case of SBS, if two connections are on one mac and
one connection is on another mac new connection can come up only
on 5 GHZ Low/5 GHZ high based on the mac that can support new connection.
But weightage of all 5 GHZ low/high channel is marked same instead of
prioritizing SCC channel.
Fix is to provide more weightage to 5 GHZ low/high SCC channel than
rest 5 GHZ low/high channels.
Also Optimize few logs.
Change-Id: I4153b209e6a74fe79081116baecaae78be5b632b
CRs-Fixed: 3204041
Add API policy_mgr_check_force_scc_three_connection
to select force SCC channel for 3 vifs existing case in
policy_mgr_check_scc_sbs_channel.
Change-Id: Ie092c15164939306a8723038f6418ab722314f7c
CRs-Fixed: 3178588
Add logic to disable a link vdev if concurrency doesn't allow it.
Send mlo_force_link_inactive in peer assoc for this and add
it in deleted table on connection complete.
Also disable the link if roam sync indication indicate
that link is disabled.
Change-Id: Ib0615308a669a5fd9d2b8ef6f8ab3f50953f658d
CRs-Fixed: 3192728
Call enable/disable link APIs from connect/disconnect/roam etc.
Cleanup policy_mgr_handle_sap_mlo_sta_concurrency and
policy_mgr_handle_sap_plus_ml_sta_connect API as
policy_mgr_handle_sap_cli_go_ml_sta_up_csa and
policy_mgr_re_enable_ml_sta_on_p2p_sap_down will take care of
ML STA + SAP/P2P cases.
Also optimize policy_mgr_handle_ml_sta_link_concurrency to consider
only ML STA+STA cases and called from connect/disconnect/roam etc.
Change-Id: Ib8b9b2a490832ea5cbe1d86e58009e1437b331b9
CRs-Fixed: 3189685
Add logic to enable and disable number of STA ML link, on vdev UP
and DOWN, if any link is causing MCC with exiting
SAP/P2P and SAP/P2P with traffic type as low latency or high tput.
Change-Id: Id599acf5a07042328917b5e15f077d2decc0ad5f
CRs-Fixed: 3189304
Add disabled links table and APIs to move and remove
vdevs from disabled links table.
Change-Id: I610bbd10e387a4bcd3a5d5c88c3dba5698878441
CRs-Fixed: 3181474
Add PCL handling for ML STA + P2P + P2P concurrencies,
based on current hw mode (SBS/DBS/SMM).
Change-Id: I337b12a0c03ab89968572056f27f47a6b9392803
CRs-Fixed: 3177305
In new framework the 6 GHz preferred SAP ACS config file will
contain 5 GHz channels, to avoid 6 GHz non-PSC being set to
MAX weight value and 5 GHz channels selected easily, here set
normalize_acs_weight to 90 for non-PSC channel of 6 GHz, 40
for 2 GHz and 5 GHz channels.
Change-Id: I5e89339d0fd4e3c190dd2ead1ec87d12ff197691
CRs-Fixed: 3186587
To make the active connections number configurable, based on
host configuration of INI gMaxConcurrentActiveSessions
host sets the num_max_active_vdevs in WMI init command to notify
the FW the number of active connections host expects to support.
FW will report the actual supported number in wmi ready event.
Policy mgr will record the FW supported number if FW number is
smaller than host requested.
Change-Id: I454c0cdde6be1e8a627f8fff08b6c7b2141b00f6
CRs-Fixed: 3183006
Add support for new ini param RoamCommon_MinRoamDelta. This param
is similar to the existing min_roam_score_delta param but units
change
Change-Id: If04ff2344a2651e7d8d71c92f05dfebc229f9fe1
CRs-Fixed: 3015930
Add support for new ini param RoamIdle_InactiveTime. This param
is similar to the existing idle_roam_inactive_time but unit
change
Change-Id: I857107a6d0e39f373e39d4fb9b762e7cf4c4a9e4
CRs-Fixed: 3015993
Keep SCC channels in the PCL list, if SCC is allowed on those
frequencies.Do not remove these frequencies, if the
mandatory channel list doesn't have the SCC frequencies.
Also, whenever the user configured frequency of the SAP is
different following a STA disconnect, switch it back to the
home channel.
Change-Id: Ia5fe8943136791084de02a2d3a8ff250008978be
CRs-Fixed: 3196278
During full scan only 2.4Ghz channels are printed.
Along with 2.4Ghz channels print 5Ghz channels.
so, use policy_mgr_get_connected_roaming_vdev_band_mask()
instead of policy_mgr_get_connected_vdev_band_mask()
After Roam result candidate or currently connected
AP bssid is not printed. so, printed candidate or
currently connected AP bssid by changing logic
Change-Id: I800ebdc033480b93150bdeb00a900c373ba333dc
CRs-Fixed: 3185092
For every random mac addr set/clear command to firmware,
driver gets reply from firmware whether success or fail.
But sometimes, if the response event is delayed by more
than 100ms by firmware then timeout happens in HDD.
Upon timeout, driver sends clear random mac command which
gets dropped in p2p_process_set_rand_mac API as prev command
status from firmware is pending.
So fix is to increase the timeout value to 1000ms
Change-Id: I6116259b5d34269a8c98712d978957cfd374cdc1
CRs-Fixed: 3199989
i.) Keep rf test mode ini disabled by default due to which
6G security check will be true.
ii.) while calculating TPC power, check safe mode & RF test
mode enabled or not and set power mode to LPI if
safe mode or Rf test mode is enabled.
iii.) During HE ops IE extarct set power type to VLP, if
6 G Hz info is not present in HE ops IE. So that power
type can be VLP in case ap_ctry is non US.
To get safe mode value, a new member is_safe_mode_enabled
is added in mlme private object and is set whenever
WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE command is triggered
via userspace.
Change-Id: I4fc2a231f8e7d18e68b92af3f381456113668779
CRs-Fixed: 3192967
Currently we are reading early stop scan min and max
threshold to unsigned int, because of which we are
sending wrong values to FW.
Read early stop scan threshold min and max values
to signed int to send correct values to FW.
Change-Id: I2e96b3c3e9fb48352d8075a4e7a96eae41dacedc
CRs-Fixed: 3191076
Currently STA can scan and come up on 6Ghz or 5Ghz indoor channel
if hardware is non-dbs and SAP is present
As part of this change, do not allow STA to connect on 6Ghz and
5Ghz indoor channel for non-dbs hardware if SAP is present
Change-Id: I48ed8483225e35d8b898b0325eee398f74e41c97
CRs-Fixed: 3196247
Enable SAP and GO D3 WoW feature by default since these features
are controlled by FW WMI service capability as well and hence for
older FW which does not support SAP/Go D3 WoW there is no impact.
Change-Id: I13597c2ee790270b295101252c4548d7c1c93f29
CRs-Fixed: 3199070
QCN7605 HW DBS mode have two index. If DBS freq range fill two
index info, function policy_mgr_are_2_freq_on_same_mac will
not return correctly. So only fill DBS freq range when no freq
info are filled.
Change-Id: I4a8b6dbd470db3f3ecc40746abbb02d81272c74b
CRs-Fixed: 3161847
Vote for PMQOS from Bus bandwidth handler in
low throughput case to achieve better results
during parallel throughput test cases.
Change-Id: Ie3e3d18794982a6b08e57b728237b0fc2051e2d2
CRs-Fixed: 3138949
As part of MLO stats feature, add support to process get_station
stats for all MLO vdevs and store them in the corresponding adapters.
Change-Id: I21034f7769290603f1540c84aed55cc0a39defcf
CRs-Fixed: 3181022
As part of MLO stats feature, add support to process link layer
stats for all MLO vdevs and store them in the corresponding adapters.
Change-Id: Ia6d731c94eaa3a355a9deae61d07dd06c5d412bd
CRs-Fixed: 3181021
Currently, we are updating tx_rx_hist without performing a NULL check.
There can be the case where the tx_rx_hist is freed and we are trying to
de-reference the tx_rx_hist, which will cause the NULL pointer dereference
issue.
Fix is to add NULL check for tx_rx_hist before dereferencing it.
Change-Id: I0c298f1c86dd86b6ac987c005ed19b20933ffba8
CRs-Fixed: 3196312
Move wlan_mlme_get_wlm_multi_client_ll_caps API to dispatcher
folder so that other components would use this API to get
the multi-client feature capability flag.
Change-Id: Ib247401b9411c40a838b338a60d44cb187884480
CRs-Fixed: 3181381
Added new threshold corresponding to SUPER_HIGH
throughput and maxed out vote level to PLD_BUS_WIDTH_MAX.
Change-Id: I3d249fde7101d780bcfb6fba830ae2b255f02063
CRs-Fixed: 3194303