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
Send connected links bitmap to FW via a command:
WMI_REQUEST_STATS_EXT_CMDID in case of MLO connection.
Host receives partner link stats via WMI_STATS_EXT_EVENTID
event and sends information of partner links to upper layer.
Change-Id: Iddd617f1acb5e29e4ba6d52baae0b421c4886063
CRs-Fixed: 3148451
Driver reports unsafe channel to the upper layer although
channel is unsafe.
Ignore the channels which are unsafe after examination
of whether channel is safe or not by the use of
policy_mgr_is_safe_channel() and report safe channel
to upper layer
Change-Id: Idfe741d19b8641814888938eab37a1daa83b7dd9
CRs-Fixed: 3197317
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
assoc_ind->ch_width is updated in function lim_fill_assoc_ind_he_bw_info,
but assoc_ind->chan_info.rate_flags is not updated. It causes BW out of sync
between these two variables.
To resolve this issue, update assoc_ind->chan_info.rate_flags accordingly
at same time.
Change-Id: Ifab85d7ced977f3a3f032853f37dfcdeadb8db26
CRs-Fixed: 3196799
For setting tspec uapsd mask per session
in sme_qos_del_ts_req(), Don't use tsinfo
from pMsg as before setting tspec uapsd
mask, eWNI_SME_DELTS_REQ msg is posted
to lim and as part of processing this
msg, pMsg is mem_freed.
This will cause use after free error so
as fix, fill the pMsg tspec to a local
variable before posting msg to lim and
pass it to
sme_set_tspec_uapsd_mask_per_session()
Change-Id: I9bded004ca3e9d612811c7533e655be1e2cdff42
CRs-Fixed: 3201541
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
If normalize_acs_weight INI setting covers the DFS channel,
the existing DFS channel weight factor will be override.
Fix it by using the minimal weight factor for both setting.
Change-Id: Ie0fa3371bd99ee8d50c7abc81ddc8cd0eb84f9aa
CRs-Fixed: 3196688
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
If force SCC enabled, user trigger SAP CSA and target channel
doesn't cause MCC with existing STA/CLI. Then overide strict flag to
true, so that driver can skip the overlap interference check and
allow the CSA go through. This is to allow SAP/GO force SCC in
same band.
Change-Id: I7844f7329b922456594cad1402a0d2ac0d0927c5
CRs-Fixed: 3178725
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
hdd_wds_replace_peer_mac will modify the input mac addr, the destination
mac addr of skb is modified once we pass skb->data as a pointer to the
hdd_wds_replace_peer_mac.
Use a local variable to get mac addr in skb, then hdd_wds_replace_peer_mac
will not modify mac addr in skb.
Change-Id: Ie0f6f4365b8558a451fa8434832f14aebd56172b
CRs-Fixed: 3196225
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
When getting chan param for SAP, the bandwidth is downgraded if some
channel in the bandwidth is disabled if puncture flag is not set in
chan param.
Check phymode in sap_ctx, if it is 11be, enable puncture when getting
chan param.
Change-Id: Id80a76c3fc8bb96e714b1b70159637ece876488f
CRs-Fixed: 3201043
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
Kernel change d4455fa 'proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations without any check, so add
default_llseek for all proc ops.
Change-Id: Ia72839cf09ec721fb98f50793b19ec082478d8d7
CRs-Fixed: 3201012
In err case "add_sta ptr" is freed in wma_send_msg_high_priority
and referenced again in caller API
so fix this by removing references to "add_sta ptr" in the caller
API's after its freed
CRs-Fixed: 3197782
Change-Id: Id1424b2802108f7d7475ed5dbf28e938bb47b525
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
While one thread delete peer from vdev peer list, set entry's next as
itself, another thread accesses the deleting entry of the peer list,
and access it's next, deadloop and use after free will happen.
To fix it, add vdev lock when access vdev peer list, same as delete peer
from vdev peer list.
wlan_obj_vdev_peerlist_remove_peer
qdf_list_remove_node
->list_del_init
->INIT_LIST_HEAD
->WRITE_ONCE(list->next, list);
Change-Id: Icc288035837869e73c247837a24785f70822d671
CRs-Fixed: 3200030
As part of MLO stats feature, increase the LL_STATS buffer size
from 3 pages to 6 pages.
Change-Id: Iecfa663fcf1c6b8c98c7f0582258e3954cebe0a6
CRs-Fixed: 3201372
Issue : Host fails to register the event call back handler
again in case Wi-Fi is turned on and triggered a reboot.
Because even after reboot, at a point of time when the host
is registering event callback handler, the host does not
receive FW capability flags yet in mlme context and this
results in FW caps check failure every time while call back
registration.
The fix is to allow the host to register to call back handler
irrespective of FW flags and add capability check in callback
handler.
Change-Id: I1dd66279097db6a68885b0416076428b73eefb9c
CRs-Fixed: 3196030
Currently, when the ACS frequency list contains only
6GHz frequency and mandatory channel list doesn't
contain any 6GHz frequencies, then the 6GHz frequencies
are filtered out from PCL.
Therefore, driver falls back to the master ACS frequency
list to choose the SAP operating frequency. Add a check
to not choose non-PSC channels, if the frequency is
6GHz.
Change-Id: I7539a99987df200d50a812409cc5df7c3dfb05a7
CRs-Fixed: 3198675
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
Add a guard check to update ll stats request bitmap in case
of MLO connection only.
Change-Id: Ie910e9afe6280d607c0a81b722a790c325e227dd
CRs-Fixed: 3200229