Based on the ini "sta_sap_scc_on_indoor_chan" the behavior of
STA+SAP in scc is as follows:
1. STA is on 2.4 GHz & SAP is on 2.4 GHz and SAP user configured
initial channel was on 5 GHz, then move SAP to 5 GHz initially
started channel
2. When STA + SAP are doing SCC on indoor only channel and
a) STA moves to 2.4 GHz -> then SAP moves to initialy started
channel
b) STA moves to another indoor only channel -> SAP follows
STA channel
c) STA moves to non-indoor, non-dfs channel -> SAP follows
STA channel.
d) STA moves to DFS channel -> SAP moves to 2.4 GHz channel
e) STA disconnects -> Move SAP to initially started channel
3. STA is on 2.4 GHz & SAP is on 5 GHz non-indoor, non-dfs channel
and STA moves to 5 GHz channel, then SAP should follow STA to 5 GHz
if SAP was initially started on 5 GHz channel. Else SAP restart
is not required and SAP will remain on the 2.4 GHz channel
Change-Id: I655dffff026d8147e13599dddc024980ba157be5
CRs-Fixed: 3186965
Refine the logic in API policy_mgr_valid_sap_conc_channel_check
to support 3 or 4 Vif concurrency case.
If the force SCC result is not suitable for the SAP to start up
for some reason, the API will select an alternate channel for
the SAP. The limitations includes LTE unsafe limitation, 6 GHz
non-support limitation, DFS STA AP concurrency limitation.
Change-Id: Ifd9cbecce697a885ba502b91340502d3e10c2d88
CRs-Fixed: 3176126
With MLO sta change, when WLAN_FEATURE_11BE_MLO is undefined, non mlo sta
index array is got wrongly, sta+sta dbs check based on it is wrong too,
and policy_mgr_concurrent_sta_doing_dbs always return false, then
2nd STA RSO is failed to enable, vdev level pcl isn't configured too, 1st
STA can roam to all band.
Change-Id: Iaa728222ab4835099899b463285be4fe2de58ea2
CRs-Fixed: 3192971
Add new ini for STA-SAP scc on 5 GHz indoor only channel -
"sta_sap_scc_on_indoor_chan"
When this ini is enabled, SAP moves to the STA channel
when STA is connected on indoor only 5 GHz channel with the
AP. When this ini is disabled, SAP moves to any 2.4 GHz
channel.
When gindoor_channel_support=1, this ini will not be considered and
SAP can come up on indoor channel.
Change-Id: Ia3ebc6d7fc2e6e569cde8e8a8b38ca76036b8fda
CRs-Fixed: 3186938
SAE authentication logging events are sent from host
driver during connection as well as during roaming.
But the other roaming frame related stats are printed
as part of the WMI_ROAM_STATS_EVENTID handling.
Since this roam stats event is received after preauth
frame related logs are queued to userspace, the order
of the logs are not correct.
Cache the SAE preauth logs in mlme and print them
upon receiving ROAM stats event. Read the firmware
service capability to decide if new caching needs
to be used or legacy behavior needs to be followed
Change-Id: I76381b9deef222f1481325974e2b5d9730eb2b67
CRs-Fixed: 3154147
If there are 3 or more 5/6Ghz SCC freq, avoid filling SBS freq in
PCL as due to 3 home freq limitation, 3rd freq will always be
leading to SBS.
So add SBS freqs in PCL, only if number of SCC are 1 OR 2 with 5Ghz
MCC/SCC.
Change-Id: Ib97589df50bbacafa56766dd4b8af6d9f5d1419b
CRs-Fixed: 3178339
Update doc for SBS related pcl_channel_order to make
it more clear and add doc for new pcl types.
Change-Id: I3635cc664f9a004a07956d88d7d95b02e14947a3
CRs-Fixed: 3178476
Before enabling FW features via wext or vendor command, first
sanity check if the feature is supported or not.
Change-Id: I2bb1c61a717be39185aee580085952adcc70ef8f
CRs-Fixed: 3171698
In GO+SAP Case, SAP starts firstly, GO starts on same band
but different channel. SAP forces SCC check is done in
hdd_hostapd_sap_event_cb in the event handle of eSAP_START_BSS_EVENT.
But at the time the GO's connection entry is not added to
policy mgr list. It is added after WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE
is received by SAP interface manager. SAP can't find the same
band GO's channel at this time.
Fix by move the SAP forces SCC check in SAP interface manager
after WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE event is received.
Change-Id: I54663bdd887e3d591d7fd9ee7ce76572b1ef21f7
CRs-Fixed: 3176076
Allow SAP and P2P GO mode MCC in same band if
wmi_service_dual_beacon_on_single_mac_mcc_support is
supported.
Change-Id: I228916df7166c9eddb829e423222da7803e3c7d2
CRs-Fixed: 3176081
Add Support for four port concurrency support for ML
sta + p2p + p2p. PCL will be same for SAP, P2P GO and
P2P CLI, so only SAP is considered in naming convention
to avoid repetitive handling.
Change-Id: Ie66407fd79f4e7b51271da8146c681dbf303810e
CRs-Fixed: 3177300
PCL for next connection is same in case of existing
concuurency is 3 port with 2 connections (one sta & sap)on
5G MCC or SCC and another STA on 2G. similarly pcl will
be same for 2 connections (one sta & sap)on
2.4G MCC or SCC and another STA on 5G.So, PM_STA_SAP_SCC_5_STA_24_DBS
can be renamed to PM_STA_SAP_24_STA_5_DBS and PM_STA_SAP_SCC_24_STA_5_DBS
to PM_STA_SAP_24_STA_5_DBS to avoid separate handling for SCC/MCC.
Change-Id: I5eeb809d49586b936f214c87defe6c0790d9829c
CRs-Fixed: 3170092
Add PM_SCC_ON_5_CH_5G pcl type to give priority
to SCC 5G followed by rest 5G channels for next
connection.
Change-Id: Ibff48dcd145368d967fb9f39c0118f94897a72a4
CRs-Fixed: 3170031
Optimize the 3 home freq logic in policy manager and rename few
APIs indicating the action they are performing.
Change-Id: Ice92917573537d0717144690a84ea46602984ef2
CRs-Fixed: 3174550
Acquire the policy mgr connection entry lock before
update no_of_active_sessions and call policy_mgr_decr_connection_count
API. Other thread may validate the no_of_active_sessions and
the connection list, so the two operations have to be done
in lock acquired.
Change-Id: Ibf06c7afe869ce4d582f54deae3f15dd789bdf1b
CRs-Fixed: 3175837
It is improper to return false in
policy_mgr_get_roam_enabled_sta_session_id,
which return value recognized as vdev id.
Use WLAN_UMAC_VDEV_ID_MAX instead.
Change-Id: If99f903c9344a99832d8d010deb5b2c35f2622f1
CRs-Fixed: 3172279
Add 3 home channel check for 4th active vdev. Do not allow
if in DBS and SBS modes 4th freq can lead to 3 home channel.
And optimize 3rd active vdev APIs.
Change-Id: I2d1ef437fc5c69b1255863c85a2b9f4efa24fa58
CRs-Fixed: 3172212
During sta+sta dbs concurrency, if vdev1 sta disconnect, vdev0 sta pcl
isn't updated to firmware to include all band.
Change-Id: I986b85644cf17ad917136adc1ea274ae2d8ed795
CRs-Fixed: 3171216
Update PCL type for STA+SAP+P2P 3vif concurrency using
PM_SBS_CH_24G, PM_SCC_ON_5_5G_SCC_ON_24G.
Change-Id: If82f928134e45486114fd6d4a6222e7127d6b9fd
CRs-Fixed: 3168636
Add handling for below pcl types which are added
due to ML STA and 2 P2P connection concurrencies.
PM_SCC_ON_5_5G_24G
PM_SCC_ON_5_5G_SCC_ON_24G
PM_SBS_CH_2G
Change-Id: I62df80c15bcd84ba9cb64cbf6ce2e4d154f6f697
CRs-Fixed: 3167325
Enable 3 SAP SCC on same mac to avoid restart third SAP failed after
5/6G disabled.
Change-Id: Ib95a38daeff97a8cb1e2571b0b271ca052f0ce62
CRs-Fixed: 3144224
Currently, for pcl where 2G channels are added pcl index is
updated to total no. of 2G channels only and first 11 entries
are considered in dump from final pcl list.
Fix is to add total no of 2G channels in pcl index instead of
overwriting pcl index with no. of 2G channels.
Change-Id: Ibcd2509ecb052bfde62a47a6dee38dd17c3d1c8f
CRs-Fixed: 3166961
If AP1 on 2G unsafe channel (no valid 2g channel so can't move),
STA+AP2 on 5G unsafe channel doing SCC, when STA disconnect, 5G AP2
is expected to restart to another 5G safe channel, but 2G AP1 will
also be selected to restart to another 2g safe channel (not in acs
range), which is not supported to switch to different channel at same
time.
To fix this issue, save last disconnected sta channel frequency in
policy manager context, and find the AP which is doing SCC with this
sta, and restart this SAP to safe channel.
To avoid possible OOB write warning, enlarge the input array buffer
of policy_mgr_get_mode_specific_conn_info().
Change-Id: If6ddd889cc0fd8b00796d42e6aa4d1a98b6b1070
CRs-Fixed: 3145226
Connectivity management frame logs are sent for SAP mode also but
should be sent for STA mode only.
Send connectivity/roaming logs only for station mode.
Change-Id: Ib9ae7824f7eca61fdce4c2c163a24554e7b2eb36
CRs-Fixed: 3165658
Move MLO STA-SAP concurreny handling to Policy Mgr which
is present in CSR currently.
Also, Move MLO STA-STA concurreny handling to Policy Mgr
which was part of If Mgr currently.
Change-Id: I2b8de17c3d31b43ff1f6b81a7de07b88888d7fb5
CRs-Fixed: 3153393
In the api cm_roam_scan_info_event(), only for partial
roam scan the frequencies are logged in logcat. For full scan,
the expectation is to print the frequency count as the number
of characters for scanning all frequencies exceed 255.
Enable Roam full scan logging in api cm_roam_scan_info_event()
Change-Id: Ib644a4e8d85e434e8b826c7656cda1251134c4fa
CRs-Fixed: 3131791
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.
Change-Id: I085a1f140b5036895249723f6a5b34b18d9aa574
CRs-Fixed: 3146742
Current policy_mgr_is_hw_dbs_capable() will check both DBS HW mode
and WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT service bit, while
DP expect to check HW mode only.
Use policy_mgr_find_if_hwlist_has_dbs() for DP DBS check.
Change-Id: I9e69e5754ef4ea522f50e2e27380e5b5d08532b3
CRs-Fixed: 3140385
SAP sets up on 5180/20Mhz, freq 5180 becomes unsafe, channel
switch from 5180/20Mhz to 5200/20Mhz. Then STA connects to
5180, channel switch from 5200/20Mhz to 5180/80Mhz because of
CONCURRENT_STA_CHANGED_CHANNEL. Then STA is disconnect and
causes channel witch from 5180/80Mhz to 5200/80Mhz. This overlaps
the unsafe channel.
To resovle this issue, check the unsafe channels when csa reason
is unsafe channel.
Change-Id: I476d3a0b998e3bdceda6e388329158a7ec95c63b
CRs-Fixed: 3136637
wlan0 on 5180, wlan2 on 5180, wlan1 on 2462. wlan1 conf file
has ACS “freqlist=2457-2472,5180-5945”.
When LTE unsafe event comes, it marks 2457, 2462, 5180 unsafe,
wlan0 changes channel to 5200. wlan1 has no available 2G channels.
It selects 5G channel 5200. But 5G has two vdevs already, then
Concurrency check failed - drv doesn’t support 3 home channel.
wlan1 keep active on 2457, but driver doesn't continue to check
wlan2's channel and do CSA to safe channel.
Fix by checking the wlan1's CSA status and if status is failure
then do unsafe channel check for 3rd wlan2.
Change-Id: I28e9397436780cf47e57a47482b729a42fb728f0
CRs-Fixed: 3136773
In function wlan_hdd_populate_weigh_pcl weight is populated
to 0 only if weighed_valid_list is 0 otherwise weight of
non-pcl entries will be populated as 20 less than weight
of last pcl entry but weighed_valid_list is set to 1 in
policy_mgr_get_valid_chan_weights. So, non-pcl entries
are also sent to upper layer.
Fix is to change weighed_valid_list to 0,
if there is existing p2p connection.
Change-Id: Ic0d86021c00fd95e5bc20eeabea56e2a69658599
CRs-Fixed: 3140467
Per requirement, some user cases don't permit multi SAP started on
the same band even if SCC is used, add INI to support the requirement.
Change-Id: Icf015761a5440171bd81424fac74af9b1433cd94
CRs-Fixed: 3136335
Currently found variable, break and if statements are used to
check SBS hw support which may result in adding extra memory and
machine inctructions.
Fix is to avoid using inessential variables and conditions.
Change-Id: I91e4e3e66cdfdecbc6bbecf0d30b2f9d709497f0
CRs-Fixed: 3137253
Currently driver advertizes the STA+STA feature in the
get supported feature without checking the FW support.
Advertize this feature only when FW supports it.
CRs-Fixed: 3123324
Change-Id: Icd6a9d2ce93eeeca8962d2c8765930986431d71f
If all the partner links are in quiet status, do not send force inactivity
on the link.
Change-Id: Icf5356f9d05e871dcf602e2382a1d150dd057aed
CRs-Fixed: 3101961
Currently, host allow maximum 3 concurrent connection.
Change the maximum concurrent connection to 4 to allow
MLO STA + NAN + NDP combination.
Change-Id: I82b8b018488f2f85e4d5431b8b23b1dd90a844b9
CRs-Fixed: 3119918
Remove Rate limited for logs in policy_mgr_init_sbs_fw_config()
when updating FWconfig bits.
This function is called at the time initialization and will only
be called once when Fw config Bits are updated with SBS
capabilities.
Change-Id: I68c7d76f85f12d220f85a46dca78ad8463bb5576
CRs-Fixed: 3116571
Check mandatory freq for SAP only if STA is present.
Also allow SAP on a freq which can lead to SBS with STA freq and is
in mandatory freq list, if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
Allow ML SAP (SAP+SAP) on valid channels if gWlanMccToSccSwitchMode
is QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
As QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL is only valid for
STA+SAP case.
So if STA is not present skip the mandatory freq and allow ML SAP
on original freq.
Change-Id: I6e8cbc7f944b2fa99c1449c288b9593cc4ad9454
CRs-Fixed: 3114208
Check whether the two connections are on the same mac with
policy_mgr_are_2_freq_on_same_mac().
Change-Id: I480a344386d22aa2a210b6b4663f68998d9af8b1
CRs-Fixed: 3103087
Avoid printing of mac range in freq on same MAC APIs
(policy_mgr_are_2_freq_on_same_mac and
policy_mgr_are_3_freq_on_same_mac), and rate limit
other logs to avoid flooding of same info.
Change-Id: Ia6c3b2a71f81066e55b0200c6286939e146125b0
CRs-Fixed: 3111452
Treat MLO STA as a single entity in roam processing:
only process roam related requests on assoc vdev.
Change-Id: Ida9665771e00236c491f58dc764cc6e470dcb6df
CRs-Fixed: 3104659
Rename Legacy to non ML STA and MLO to ML STA in
if_mgr_handle_ml_sta_link_concurrency and related function.
Move if_mgr_get_ml_and_non_ml_sta_count to policy manager
util API. So that it can be used by other modules.
Change-Id: I61260ddf1c6008d8601efaac8d0e9e768e253499
CRs-Fixed: 3105269