If all the partner links are in quiet status, do not send force inactivity
on the link.
Change-Id: Icf5356f9d05e871dcf602e2382a1d150dd057aed
CRs-Fixed: 3101961
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
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
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
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
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
Currently, the host does not check STA+STA concurrency
before sending VDEV/PDEV level PCL command to FW.
1. In case of STA Standalone connection, Host should send
PDEV level PCL commands to FW and marks all channels in PCL
as allowed.
2. In the case of STA + STA connection in MCC/SCC, Host
should send PDEV level PCL command for primary vdev id and
mark all channels in PCL as allowed.
3. In case of STA + STA connection in DBS, Host should
send VDEV level PCL command for both vdev id and via PCL
list host should make sure band is restricted to maintain
only DBS.
4. Initially STA + STA connection in DBS and then one STA
got disconnected. In this case, After disconnection Host
should send PDEV level PCL command for connected vdev id
and mark all channels in PCL as allowed.
Change-Id: I59cf5dfd1bf8fb26e360a8b0b5456fe05037376a
CRs-Fixed: 3084156
When connect from wpa_supplicant and roam from F/W happens at same
time, supplicant hold cm cm_req_lock and wait rsp from scheduler
thread, sheduler thread is blocked to wait for cm_req_lock.
Change-Id: I6b9010972d29be9a32d3b85ee72891ed62b50801
CRs-Fixed: 3087169
When vdev0 STA roamed to another channel, vdev1 SAP CSA for SCC
when ROAM_SYNCH_IN_PROG, will disable roam, but no RSO stop to F/W,
F/W RSO isn't disabled, but host vdev0 will enter RSO_STOPPED, host
F/W RSO state out of sync.
If vdev0 STA next roam sync come soon, it won't be handled for host
RSO_STOPPED, neither roam sync complete nor disconnect will happen,
F/W will asert after wait roam sync complete timeout.
To fix it, Only do SAP CSA check after roam complete and RSO
reenabled, can avoid host F/W RSO state out of sync issue.
Change-Id: I77ccf30cac38f62c6ef8330c6da00364249b242e
CRs-Fixed: 3076935
If p2p go+go concurrency exist and g_enable_go_force_scc ini sets
to 2(liberal mode) then 1st p2p go channel should move to 2nd
p2p go channel after set key. Again, when user initiates CSA to
one p2p go then the force SCC doesn't happen to other p2p go.
But the expectation is all p2p go should move to same channel
which is initiated by user.
As part of fix, move all p2p go to same channel when user
initiates.
Change-Id: I1664e5a7d545d29c32b94e8e4831c71a9cc0ae23
CRs-Fixed: 3064245
Update the concurrency policy for STA mode.
For an upcoming STA connection:
1. Disallow the 2nd STA connection if multiple STA connections are
not allowed.
2. Allow the secondary MLO link when primary link is connected.
3. Disallow ML STA when ML STA/SAP is present.
4. Disallow the 3rd STA.
5. Allow for the other cases.
Change-Id: I70c41177b7a3a9aa9cbac0aaced08c6eafca2b6d
CRs-Fixed: 3012577
In if_mgr_validate_candidate() adds SBS
check to allow a STA connection on SBS
channel when MCC is not allowed .
Change-Id: Ia8007a4beabf546ff293986124f4ef985ccaeacc
CRs-Fixed: 3052797
Fixes in this change include:
- Add debug prints
- Don't disable roaming in case of MLO link connection
- Minor compilation fixes
Change-Id: I0aa9e8b2fd634b6dba1926796d95db997946aac3
CRs-fixed: 3013039
In case of STA + STA or STA + P2P CLIENT concurrency
in MCC, no need to update the beacon interval while
processing connection on the second interface.
Currently, the driver only bypass beacon interval
validation for P2P CLIENT connection in case of
STA + P2P CLIENT concurrency in MCC.
Fix is to bypass beacon interval validation for the
second sta connection so that connection can happen
in MCC for STA + STA.
Change-Id: I4c3f8b1ed0b22f809a291eb88dfd95255cebe5e2
CRs-Fixed: 2934503
In the validate beacon interval logic, there are a few calls to get the
vdev MLME object from the interface manager component. However,
the component does not have a vdev object, so get it from the MLME
component instead.
Change-Id: I7333edeb6f1f0d5669605fe9e3d4fb10745d1fa4
CRs-fixed: 2928798
Move the beacon interval validation logic from the CSR module to the
interface manager module.
Add a path to send events to the SAP event handler from the MLME
module.
Change-Id: Ia86f219b3f209b53e7818a80f95b2c0555550736
CRs-fixed: 2796676
Currently, STA reconnect (e.g. reconnect to same BSSID) is handled
as STA+STA as part of NAN concurrency checks. This results in NAN
disable when reconnect is issued.
Check if the current incoming connection is on same vdev as
previous sta connection instance and disable NAN only if it's
different.
Handle NAN+SAP reenable in similar way.
Also, remove the redundant usage of NDI cleanup API
ucfg_nan_check_and_disable_unsupported_ndi in
if_mgr_connect_start.
Change-Id: Ia063a69bb2efdf1d51c6988b8905ceac0f454dab
CRs-Fixed: 2821352
Modify connect start code in interface manager by
moving disable roam and tdls link teardown notify
APIs from HDD to if mgr. Alongside, move tdls link
teardown notify API from HDD to if mgr in start bss API.
Also, move the tdls link teardown API to TDLS module from
HDD module as TDLS should manage the wait logic.
Change-Id: I09fa31878563a3daaa7c5fde46327475829317b3
CRs-Fixed: 2811807
In Interface manager, legacy roaming api's were used as roaming testing
was ongoing.Now testing is done so use converged roaming api's.
This will also resolve the KW warnings.
Change-Id: I9ef101e6ec02bb18c6f2f9a9fbdaa81dbe81f9a0
CRs-Fixed: 2798601
Currently, If hadware is not dbs capable opportunistic timer
can not be started. In function if_mgr_connect_complete
policy_mgr_check_n_start_opportunistic_timer fails to start
opportunistic timer in case of non-dbs hw and sap restart
doesn't happen.
Fix is not to validate status returned by
policy_mgr_check_n_start_opportunistic_timer to restart sap
in case of non-dbs hardware.
Change-Id: I3308a5c10341950d51419907cc767c09f967b7b1
CRs-Fixed: 2792764
The peer objmgr pointer in the if_mgr_roam module may be NULL if
there is no peer connected. Add check to see if pointer is NULL
before dereferencing it. Also modify logic to only check if the
vdev is in STA or P2P_CLI mode.
Change-Id: I7370ca5b9c74bd81f6e958cf740b6ee426f4faad
CRs-fixed: 2779831
- Use sme roaming api's instead of converged
roaming api's.
- Add debug logs in if mgr api's.
- Fix typo in Kbuild file.
- Fix compilation errors.
- Fix comments for readability.
- Update disconnect functions so parameter type matches.
Change-Id: Ia0adf6f79036e9348bf4ebb6237a5e25ef813a21
CRs-Fixed: 2774509
Add the API to validate the BSS before roaming to it. This API will check
if other vdevs are already connected to the BSS, if concurrency is allowed,
and if channel is allowed for the current HW mode.
Keep the new changes under the interface_mgr feature flag.
Change-Id: I280e95b0a30c08fe4037295330628b79d22acf5f
CRs-fixed: 2774543
Add disconnect start and disconnect complete event handlers to
the interface manager.
Add disable roaming, enable roaming on connnected STA, and
enable roaming after P2P disconnect APIs.
This change is part of the connection manager effort.
Change-Id: Ib68b9ef9ff5b6541d7393bfbe6332a68b17bd587
CRs-fixed: 2760090