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
As in SBS ML STA, both links are on 5Ghz, reject the 5Ghz
non-ML STA connection, to avoid enabling same band roaming on
both STA.
Also do not allow the SBS ML STA, if a non-ML STA is present
on 5Ghz.
Allow it only if primary interface is set OR dual STA roaming
is disabled.
Change-Id: I20a23ed3b4d87c9acac5417a6f2d484fc80f47d6
CRs-Fixed: 3103246
In force SCC logic if 6Ghz freq is not allowed on the SAP interface
get the low 5Ghz freq for SBS scenario as we have 2 5Ghz freqs present
in this case.
Change-Id: I0783e5cf2825ee4f10549826b6dd71677976e6c3
CRs-Fixed: 3103876
When STA+SAP concurrency, sta roaming pcl will remove all channels of SAP
band except scc channel to avoid mcc.
When SAP stopped, STA roaming pcl isn't updated for wrong vdev id is used,
so can't roam to all channels of old SAP band except scc channel to avoid
mcc.
Change-Id: I35adb55ac155e4c84f858f16796dbec12589ab2f
CRs-Fixed: 3102601
A MLO with 1 link not active will lead to HW mode as SMM instead
of SBS, so check and see if SBS MLO is present and take
decision as per it.
Change-Id: Ide487d56d6375892b91ab615b9ad314dba2c9991
CRs-Fixed: 3102349
In dual sta case, while vdev0 roaming, vdev1 tried to connect and
stop vdev0 roam. in lim_process_assoc_rsp_frame,
lim_is_roam_synch_in_progress return false, hdr is parsed as invalid
addr, assert when access hdr->sa.
Change-Id: I917dc064dbca5600fe3586ec08103fa62a1348ee
CRs-Fixed: 3100427
As requirement, concurrent mode, station 5G/2G scan need stop when
AP connected by peer station.
Condition:
STA + AP 5G (connected) + AP 2.4G skip 5G scan
STA + AP 5G (connected) skip 5G scan
STA + AP 2.4G (connected && 2.4G only) skip 2.4G scan
Others concurrency skip none
Add API policy_mgr_scan_trim_chnls_for_connected_ap() to check if
need trim scan channel list. Which channel list need be trimmed.
Change-Id: I21da69fad617a6f342b9d902bf5b9d326ee1e11c
CRs-Fixed: 3075065
Fix policy_mgr_current_concurrency_is_scc() and
policy_mgr_current_concurrency_is_mcc() API for
3 port to consider mac_id.
Change-Id: I076e19d85f495d27b940c3cb6b3f3b1383d9b5e9
CRs-Fixed: 3093760
Handle SAP + MLO_STA concurrency after MLO connect, by disabling
one of the SBS link if 2.4Ghz SAP is present.
Also if roam happen to non SBS MLO remove the disable restriction
of MLO.
Change-Id: I7d9503a01bb23cd06808b46c090f0dee39c96af6
CRs-Fixed: 3096310
To support 4 SAP concurrency on sdxlemur, they must work with mode
SAP+SAP(2g/SCC) & SAP+SAP(5g/SCC) or SAP+SAP(2g/SCC) & SAP+SAP(6g/SCC).
Add separate fourth_connection_pcl_dbs_table for mobile route devices,
adding 4 SAP cases, and modify policy manager to get pcl index when 4th
SAP being started.
Change-Id: I919fa6fa0bbacbe1be0d22ed2ffc9e322b6343e9
CRs-Fixed: 3092568
Handle SAP and MLO STA concurrency such as:
1) If MLO STA is present with both links
in 5/6 Ghz then SAP comes up on 2.4 Ghz,
then Disable one of the links.
2) If there is channel switch for sap from
2.4 ghz to 5 ghz, then enable both the
links as they were disabled by previous
operations when sap was on 2.4 ghz.
3) If MLO STA is present with both links in
5/6 Ghz and SAP, which was present on
2.4 ghz, stops then renable both the as
one of the links were disabled because
of sap on 2.4 ghz.
Also, in case where MLO STA roamed from
5 + 6 link to 2.4 + 5/6 link force scc
will happen and the disabled link has
to be enabled.
Both links should only be enabled if mlo
sta has more than one links.
Change-Id: I0fd0093b20336ae32325981589c399b44a44b64e
CRs-Fixed: 3092202
Optimize excessive SBS prints in policy_mgr_are_sbs_chan and
policy_mgr_is_cur_freq_range_sbs.
Change-Id: I379f3b1b050e08f6d76a7e657067ae66fe45c93c
CRs-Fixed: 3094259
Handle MLO STA + Legacy STA concurrencies such that:
1) Don't disable any link if STA form SCC with any of the
link.
2) Disable the link on the same MAC which can cause MCC.
a) On non-SBS devices disable the ML link on the same
band as STA, As the same band means the same MAC
in non-SBS mode.
b) On SBS devices, disable the ML link on the same MAC:
- If STA freq is 2.4Ghz disable the 2.4Ghz link.
If a 2.4Ghz link is not present, disable any of the
5/6Ghz links (FW to decide the link depending on
SBS mode, low share or high share).
- If STA freq is 5Ghz and can lead to SBS with on of
the link, disable the non-SBS link (link which will
remain on the same MAC).
- If STA freq is 5Ghz and cannot lead to SBS with
one of the links, disable the link on the same MAC/
band.
e.g:
STA freq: STA ML combo: NON SBS Action: SBS Action:
------------------------------------------------------------------
2Ghz 2Ghz+5/6Ghz Disable 2Ghz Disable 2Ghz
5Ghz 2Ghz+5/6Ghz Disable 5Ghz Disable 2.4Ghz
if both 5Ghz lead
to SBS, else
disable 5Ghz
5Ghz(lower) 5Ghz+6Ghz Disable 5Ghz Disable 5Ghz
5Ghz(higher) 5Ghz+6Ghz Disable 5Ghz Disable 6Ghz
2Ghz 5Ghz+6Ghz Disable Any Disable Any
Change-Id: Ie8ca51b5e108c1cfce1a02fc97f4849c617216b7
CRs-Fixed: 3090333
Fix filling of the SBS range, in current freq range.
And Add is current mode SBS in required APIs.
Change-Id: Ief334aa236ad18512ac5d8cf80b3a2d13d77529a
CRs-Fixed: 3093159
Dump SBS range while checking for SBS mode in
policy_mgr_are_3_freq_on_same_mac and
policy_mgr_are_2_freq_on_same_mac
Change-Id: Ic8e6a49d60dcc82746a2b3e392576399dd1ad417
CRs-Fixed: 3092338
policy_mgr_dump_sbs_freq_range is flooding the logs with
SBS range, instead print it once when we check for
SCC channel.
Change-Id: I60e17f6fed3d0973f29d5225458a392021e482f7
CRs-Fixed: 3091231
The [-Werror,-Wformat] compiler option is enabled,
Format specifies type does not match the argument
type.
Fix the compiler errors that format specifies type
does not match the argument type.
Change-Id: I66c4834693c41217f1263e8d23e9e291f7045c55
CRs-Fixed: 3089460