Commit Graph

79 Commits

Author SHA1 Message Date
Balaji Pothunoori
1b80f4f622 qcacld-3.0: initialize structure parameters before use
Currently bool values are not initialized and results
in unexpected values for bool variables,
Hence this change is to initialize structure to
NULL before use.

Change-Id: I07ec3880d35441d3dc84eaa44640ad07eba0b3c9
CRs-Fixed: 3800965
2024-05-14 05:02:52 -07:00
Gururaj Pandurangi
ec54ce1398 qcacld-3.0: Add support to update dot11mode based on regdb
Certain countries have dot11mode restrictions such as no
11be mode support, in which case the regdb updates the
phymode and sends to Host.
Add support to use this value to limit and update the
internal dot11mode to allow connection in corresponding
phymode.

Change-Id: If7dd8c261fbe61e96c7749dd1457713502409fa6
CRs-Fixed: 3747811
2024-04-11 22:21:33 -07:00
Vinod Kumar Pirla
0b6df7dbe9 qcacld-3.0: Restrict three link connection on certain vendor APs
Identify APs which don't support three links and downgrade the
max connection links to two so that connecting to such APs will
not lead to unexpected behavior.

Change-Id: I25d2c0fd09e29b6f0cc2d228e52733bcbceb39fd
CRs-Fixed: 3636112
2023-12-21 04:34:33 -08:00
Srinivas Dasari
eb4866aa31 qcacld-3.0: Try to re-enable roaming after SAP/P2P-GO is stopped
Currently, roaming gets disabled on STA when CSA is triggered
on concurrent SAP/P2P-GO and re-enabled once CSA is completed.
But SAP/P2P-GO might get stopped before CSA is completed.
Roaming is not re-enabled in such cases.
Try to re-enable roaming with reason RSO_SAP_CHANNEL_CHANGE once
SAP/P2P-GO stop is completed. Roaming gets enabled only if it's
disabled due to RSO_SAP_CHANNEL_CHANGE.

Change-Id: I57b192beda55673dbf80bed4eadbac70653d2cd1
CRs-Fixed: 3661380
2023-11-13 22:19:45 -08:00
Ashish Kumar Dhanotiya
9b80743a19 qcacld-3.0: Move SAP to 2.4 GHz with ll_lt_sap concurrency
LL_LT_SAP and SAP can not be present on same MAC, if SAP is
present on 5 GHz for DBS RDs and if LL_LT_SAP tries to come
up, then move LL_LT_SAP to 2.4 GHz frequency so that LL_LT_SAP
can come up on 5 GHz.
This change handles this scenario and move the SAP to 2.4 GHz
frequency when host driver receives acs request for LL_LT_SAP,
when LL_LT_SAP start completes.
When LL_LT_SAP goes down, host driver restores the original
user configured channel.

Change-Id: Ia4ed29d86a595321ee8be57420cc6a03c84f190b
CRs-Fixed: 3647076
2023-11-07 19:04:24 -08:00
Ashish Kumar Dhanotiya
8e24914e33 qcacld-3.0: Reject STA initial connection and STA on LL_LT_SAP freq
LL_LT_SAP does not support SCC, so to avoid this, reject initial
STA connection and CSA on LL_LT_SAP frequency if STA receives CSA
on LL_LT_SAP frequency.

Change-Id: Iaa4546bbbc242aa8fc9580d1a8a2728b197457d0
CRs-Fixed: 3654643
2023-11-03 10:04:53 -07:00
Liangwei Dong
4eb9815525 qcacld-3.0: Move SAP to 2.4 GHz if GO is in 5 GHz
For mcc to scc switch config QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL,
if GO is on 5/6 GHz, SAP is not allowed to active on 5/6 GHz, SAP should
move to 2.4 GHz, If GO is not present on 5/6 GHz, SAP needs to move to
5/6 GHz user configured frequency.

Change-Id: I4ba99460fe5656440c6010afcb0ebbc9c0f4de76
CRs-Fixed: 3624311
2023-10-19 10:14:23 -07:00
Ashish Kumar Dhanotiya
0afa4fa7e5 qcacld-3.0: Add bearer switch request in connect path
If LL_LT_SAP is already present and if STA tries to
come up on same mac, then it may result in data loss
on LL_LT_SAP as STA will need ROC on the connection
channel for some time, to avoid these data loss during
STA connection, add logic to switch the bearer for LL_LT_SAP
data to non-wlan and once connection completes, switch back
the bearer to wlan.

Change-Id: I7ace6c6f4f41548ec112882dc81be6c6b5a4eae0
CRs-Fixed: 3627656
2023-10-11 14:42:22 -07:00
Amruta Kulkarni
06c7860fe1 qcacld-3.0: Fix RSO state machine issues
For MLO connection, when disconnect is started as part of
link switch, host will send RSO STOP to FW.
Post disconnect complete host tries to enable RSO again on
the other connected STA. This is protected by link switch in
progress check to avoid sending RSO start on link vdev during
link switch. But when NB or SB disconnect is queued during link
switch, then link switch in progress flag is reset and RSO start
might go on the assoc vdev.

Do not enable RSO if disconnect is ongoing on same MLD.
Also while processing RSO stop response fw might send RSO stop
response on link vdev. Add handling to process RSO stop response
on other vdev belonging to same MLD

During roam sync if assoc rsp is received from unexpected peer
then abort roaming and send rso stop to FW,HO fail will clean
host CM state machine.

Change-Id: Ibd1f424c3dea80e50e70ebdf112ee2cf44868ebe
CRs-Fixed: 3626015
2023-10-02 09:24:32 -07:00
Jianmin Zhu
8585062029 qcacld-3.0: Fix STA RSO not enabled after GO start
When vdev1 GO start, vdev0 STA RSO is disabled.
When vdev1 GO start completed, vdev0 STA RSO isn't re-enabled.

To fix it, if WLAN_FEATURE_11BE_MLO undefined, if_mgr_is_assoc_link_of_vdev
returns false instead of true, then wlan_cm_enable_rso can be called in
if_mgr_enable_roaming_on_vdev to re-enable STA RSO when SAP/GO/other
STA start completed.

Change-Id: I1a14a852734909927312297310eeaea8508aca61
CRs-Fixed: 3612716
2023-09-15 07:43:22 -07:00
Liangwei Dong
84250fda26 qcacld-3.0: Disable force SCC check for link switch disconnection
If disconnection event is for link switch, do not trigger SAP
force SCC check. And if link switch is in progress, skip
the force SCC workqueue.
And if link is in middle of switching, do not run link force logic.

Change-Id: I4a8bf59ff16dca2caf560eb36e1bc58f7d6a919b
CRs-Fixed: 3590814
2023-09-01 21:01:00 -07:00
Surya Prakash Sivaraj
f3969f6436 qcacld-3.0: Prevent runtime suspend during disconnect
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.

To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.

Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.

CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
2023-08-24 01:26:07 -07:00
Ashish Kumar Dhanotiya
fe6d7d0625 qcacld-3.0: Add support for LL_LT_SAP_MODE in policy mgr
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.

Change-Id: Icfbb3a95dc65225fc7dad5df7dca9306a5029402
CRs-Fixed: 3536491
2023-08-17 21:01:21 -07:00
Pragaspathi Thilagaraj
72c6ae5928 qcacld-3.0: Don't enable roaming till vdev is up during link switch
During link switch, as part of the disconnect sequence, roaming
is enabled on the other connected vdev and this causes RSO start
to be sent before vdev up is sent on that vdev. This causes
abnormal firmware behavior.

So don't send enable roaming till the vdev is up in case of link
switch. RSO start will be sent as part of the install key sequence.

Change-Id: Ib9fe520ec3d2b5c91fdba192934418e235082a31
CRs-Fixed: 3581618
2023-08-11 01:23:54 -07:00
Paul Zhang
39dcbc8810 qcacld-3.0: Add logic to control WIFI standard per vdev
With these APIs, vdev connection is effected by the
WIFI standard version. For example, if wifi_std is
wifi6, then the connection will not use 11be feature.

Change-Id: I8f762f9cf16d876d5cf2847561b61c11a23e97b5
CRs-Fixed: 3554305
2023-07-20 19:18:40 -07:00
Ashish Kumar Dhanotiya
749fd3fe37 qcacld-3.0: Update policy mgr device mode conversion API
Currently policy mgr api policy_mgr_convert_device_mode_to_qdf_type
accepts only QDF_OPMODE as an argument and converts it to
policy_mgr_con_mode. Also, name of this api does not reflect
the task this is doing.
With the new SAP mode for low latency low throughput SAP,
to convert the QDF_OPMODE to policy_mgr_con_mode, host driver
needs to know if it is ll_lt_sap or normal sap. To get this
information, update policy_mgr_convert_device_mode_to_qdf_type
api to accept the psoc and vdev id as parameters. Also, rename
this api to reflect the task this api is doing.

Change-Id: Idcf1321038ba4852d2aa3d8157b558423a738765
CRs-Fixed: 3524247
2023-07-08 11:10:28 -07:00
Srinivas Dasari
db403bc9de qcacld-3.0: Allow CSA to DFS channel only if PCL list has it
Currently, PCL returns all 5 GHz channel and SCC channel for SAP
when an ML-STA is present. But this may lead to a case
where the CSA request might be for a DFS channel which needs CAC.

This needs a dedicated mac and ML-STA can't move to MLMR in such
cases. When firmware attempts to move STA to MLMR from MLSR,
firmware asserts as the other mac is occupied by DFS SAP for
CAC operation.
So, allow CSA to a DFS channel only if the channel is present in
PCL list as it covers the supported channel list anyway. Fix
policy mgr table entries also by allowing SCC channels only.

Change-Id: I079fa6beea97fcd7c926ad4bd2bf928a0442d146
CRs-Fixed: 3484572
2023-06-22 09:10:10 -07:00
Jianmin Zhu
f1e4373c2e qcacld-3.0: Fix roam abort for 2nd sta connect
During wlan0 vdev0 roaming, before roam sync received,  2nd sta wlan1
vdev2 connect req came, disabled RSO of vdev0, so vdev0 roam aborted, and
disconnected.

To fix it, serialize roaming disable during connect too, don’t disable
roaming of other connected sta until serialization allowed in
wlan_serialization_activate_cmd ->cm_connect_active

Change-Id: I64eca8bc4de27e0b0afd0af2af3e83f3874fcecd
CRs-Fixed: 3515381
2023-06-08 20:46:11 -07:00
Surya Prakash Sivaraj
da7b96abf5 qcacld-3.0: Handle RSO SM for ML concurrency cases
In ML-STA + STA concurrency currently, when legacy STA is being
brought up the RSO of existing ML-STA is stopped and not re-enabled
later. Therefore, ML-STA cannot roam after concurrent STA bringup.

Modify the RSO enable logic for ML-STA as follows:
1. All the links should be up.
2. The vdev should be an assoc vdev
3. The if_mgr_enable_roaming should happen on an interface other
than ML-STA links.

The condition-3 prevents enabling RSO for the assoc vdevs when the
link vdev connect complete event is processed.

Change-Id: If86a81b99d18eaa99a25e419c85197d9d0d826ac
CRs-Fixed: 3493333
2023-06-01 09:38:59 -07:00
Bing Sun
8fae636f18 qcacld-3.0: Fix OWE MLO roaming
When roaming from OWE SLO to OWE MLO, host considers it as SLO roaming,
although FW sends both assoc link and partner link information to host.

Currently host adds partner link to sta_ctx->wlan_connected_links in
mlo_roam_update_connected_links, since it already receives partner
link information from FW. Then RSO fails to translate to stop state in
cm_fw_roam_complete because partner link is not up.

To make RSO state translation work, host need add partner link to
sta_ctx->wlan_connected_links when partner link connection is
triggered, which is mlo_roam_prepare_and_send_link_connect_req.
Do not add partner link to sta_ctx->wlan_connected_links in
mlo_roam_update_connected_links.

When roaming from OWE MLO to OWE MLO, host triggers disconnection in
partner link, which should not enable roaming in connected STA.

Change-Id: I99938a0805d60287eb2714e5d271579ac2fb4aeb
CRs-Fixed: 3498822
2023-05-22 18:29:41 -07:00
bings
9c5e33d034 qcacld-3.0: Don't skip PCL set when MLO link vdev is disconnected
When STA roams from multi link AP to single link AP, because MLO link
vdev is not disconnected yet, PCL is updated according to MLO station
connection and SLO station connection concurrency scenario.

After MLO link vdev is disconnected, PCL should be updated again
according to SLO station connection scenario.

Change-Id: I6a297c05a605fefe27c20a90d36e419819e6415d
CRs-Fixed: 3497055
2023-05-16 17:32:53 -07:00
Srinivas Dasari
48328ed929 qcacld-3.0: Don't skip RSO enable when single link roaming happens
when STA roams from multi link AP to single link AP,
the non-assoc link gets cleaned up(through disconnect path) and
RSO gets disabled as part of this. But RSO doesn't get re-enabled
when link cleanup is completed. So, STA can't roam further.

Remove the check which skips RSO enable if the current
disconnecting vdev is of type MLO link. Next API
policy_mgr_get_roam_enabled_sta_session_id() can fetch the
right valid vdev to enable RSO. Don't update PCL to
firmware as there is no need to update again as part of link
cleanup. Firmware has already got the PCL as part of assoc
vdev RSO enable.
cm_roam_switch_to_init() takes care of not allowing RSO enable
in disconnect case as the assoc vdev CM is in
WLAN_CM_S_DISCONNECTING state.

Change-Id: I155bb93868653d5575f81559c48b86b40cf5d59c
CRs-Fixed: 3487290
2023-05-12 05:02:51 -07:00
Srinivas Dasari
b01b3c5e00 qcacld-3.0: Handle eMLSR+NAN concurrency
eMLSR + NAN concurrency is not supported currently, so handle it
as mentioned below
1. eMLSR+NAN: If NAN is coming up when eMLSR is active, disable
   one ML link so that eMLSR gets disabled.
2. NAN+eMLSR: If eMLSR is coming up when NAN is already enabled,
   disable one link so that eMLSR doesn't get enabled.

Also, cleanup the APIs to carry a generic flag to indicate that
a concurrent connection is coming up instead of mode specific flag
as there is no dependency on modes to handle concurrency.

Change-Id: I625f8b18f9d7e991922d22af53f3e8743a3727bd
CRs-Fixed: 3443900
2023-04-17 17:50:14 -07:00
Pragaspathi Thilagaraj
9e24d820d4 qcacld-3.0: Handle STA + TDLS + P2P CLI concurrencies
When P2P CLI is connected first and then STA is connected,
disable TDLS on existing interface and enable TDLS on the STA
vdev.

When existing STA + TDLS exists, disable off channel when P2P
connection is started and re-enable off channel for TDLS once
connection is complete. Don't teardown TDLS peers once the
P2P client connection is successful.

Change-Id: I91d152a3a052706289c06cebc932c84a69fdbc00
CRs-Fixed: 3455639
2023-04-15 04:39:35 -07:00
Pragaspathi Thilagaraj
282f018e47 qcacld-3.0: Handle TDLS concurrency during CSA
If CSA on SAP/P2P GO causes MCC with the current STA TDLS vdev,
then teardown the TDLS connections, disable off channel and send
disable TDLS to firmware.
If CSA causes MCC -> DBS or MCC -> SCC then allow TDLS and update
the peer off channel list to firmware
Disable TDLS off-channel before SAP/P2P GO vdev restart.
Once CSA is complete, TDLS off-channel will be re-enabled based
on the concurrency.

Add interface manager changes to notify STA channel switch.

Change-Id: I36b359a7e1cf570cfb2b2f0e6abedf148a8fd174
CRs-Fixed: 3445112
2023-04-12 12:53:47 -07:00
Pragaspathi Thilagaraj
c2976a7b2d qcacld-3.0: Handle SAP + TDLS concurrencies
Disable TDLS offchannel on SAP start if concurrent STA with
TDLS exist.
Enable TDLS off channel after SAP start if SAP and
STA are not in MCC.

If TDLS is enabled, and off channel is required, update
TDLS off channel to be the SAP channel.

Change-Id: Ica508889acbae5e2dc4269d4d7518cf01d62714f
CRs-Fixed: 3444747
2023-03-28 04:34:46 -07:00
Liangwei Dong
d6b1c34002 qcacld-3.0: Enhance Concurrency of CSA and AP Start
In MLO STA 2.4 GHz + 5 GHz High band and SAP concurrency case,
5 GHz Low band SAP will move to MLO 5 GHz link's home channel for
SCC after MLO STA is up.
But GO starts on 5 GHz high band when SAP CSA is in process and
pass the policy mgr concurrency check because the SAP channel
is still 5 GHz low band.
Fix by defer GO BSS start if any CSA is in progress and also
check any AP start is pending for STA, SAP force SCC concurrency
handling.

Change-Id: I0fcd799017d5048f3574687f913a396ab4d7ade1
CRs-Fixed: 3418351
2023-03-02 04:17:28 -08:00
Gururaj Pandurangi
06bec08823 qcacld-3.0: Handle concurrency with new EMLSR connection
Currently, if there is a legacy connection and a new STA
connection comes up with EMLSR capability, Host does not
advertise EML caps in assoc request. But there is no support
to enable EMLSR mode if the legacy connection goes away.
Thus, add support to handle this concurrency scenario as
follows
1) Host should advertise EML support capability in assoc
request.
2) After association is complete, force disable one of the
EMLSR links.
3) Once the legacy connection goes down, re-enable the
disabled link.

Change-Id: I5d9f37827e2a9f0571fa9733b4779668bd987f92
CRs-Fixed: 3363115
2023-02-16 21:30:12 -08:00
Srinivas Dasari
b8db5ef04a qcacld-3.0: Handle SAP restart case in fixed chan SAP
Currently, unsafe channels are avoided when SAP restart happens.
If WMI_COEX_FIX_CHANNEL_CAPABILITIES is advertised by firmware
and if the SAP is started in a fixed channel, don't restart even
if the current operating channel is unsafe.

Change-Id: I5f7d632bcc00a1b5351dad64aca0ce16f1057537
CRs-Fixed: 3381394
2023-01-19 23:32:58 -08:00
Jeff Johnson
4086862b28 qcacld-3.0: Fix Common Services Documentation
The kernel-doc script identified multiple documentation issues in
components/cmn_services, so fix them.

Change-Id: Ifdc8cefcbf7b31dc3e91cc3c5dab7cccd331e473
CRs-Fixed: 3363114
2023-01-10 11:30:44 -08:00
Vinod Kumar Pirla
c682062e13 qcacld-3.0: Associate in 11ax mode on non MLO vdev
In 11be capable configuration, for connection attempt
to MLO AP from non-MLO type vdev, downgrade to 11ax
mode association for that vdev.

User can still connect in ML mode from MLO type vdev.

Change-Id: I1e7cf940a778a20f2f4d5d24283ffb6aae52781b
CRs-Fixed: 3312163
2022-11-18 00:31:10 -08:00
Srinivas Dasari
255d217cca qcacld-3.0: Re-enable roaming with correct reason upon p2p disconnect
Currently, roaming is disabled with requestor "RSO_CONNECT_START"
on the STA when concurrent P2P-client is connected .
It's re-enabled once the P2P-client is disconnected but with
requestor RSO_INVALID_REQUESTOR. Roaming module still doesn't
re-enable roaming as it expects roam-enable command from the
requestors(i.e. RSO_CONNECT_START in this case) which disabled
roaming.
Pass right requestor to re-enable roaming.

Change-Id: Icb3deeed788ca248391b4b84288229aea2bdb8c2
CRs-Fixed: 3330219
2022-11-08 20:51:09 -08:00
Deeksha Gupta
567d5833ff qcacld-3.0: Rename multi_link into multi_link_bv
In struct ie_list, rename multi_link variable into
multi_link_bv.

Change-Id: Id10f62e3ba298da32224c0afec9df4f1b030bc76
CRs-Fixed: 3318529
2022-10-31 04:05:52 -07:00
Jyoti Kumari
8a1899b457 qcacld-3.0: Support Low Latency SAP + STA/GC concurrency
Add a support to check if low latency SAP is present on 5 GHz
channel then do not allow STA/GC to connect on 5 GHz for
both gaming and lossless audio profile.

Change-Id: I8e1c62dfea3c27306e338392448f5cc6eed912aa
CRs-Fixed: 3302763
2022-10-19 22:30:14 -07:00
Liangwei Dong
74aa28da73 qcacld-3.0: Add 802.11be allowed AP OUI INI support
Add INI g11be_oui_allow_list to config 802.11be AP oui which
is allowed to get connected in 802.11be mode.
If the INI is empty, all the ap are allowed to get connected
in 802.11be mode. If INI is set to "ffffff 00 01", then STA
is not allowed to connect to any AP in 802.11be mode.

Change-Id: I98e545ba909c1746237a20c365f8297f16fe666f
CRs-Fixed: 3304021
2022-10-17 12:57:45 -07:00
Rahul Gusain
e7b08c495d qcacld-3.0: Abort P2P ROC request before BSS start
Currently, supplicant sends roc request and hostapd sends
vdev start request to host driver. After processing these
request, host driver sends it to firmware.
But for ROC request having long dwell time, firmware can not
handle vdev start req as it waits for ROC request completed
(timeout occurs). This is leads to crash in firmware.

So, to fix this issue, host driver aborts p2p roc request
before starting BSS (sending vdev start request).

Change-Id: I956428cf94015ac6c4ff7063ef9b060146e4377b
CRs-Fixed: 3270079
2022-09-20 10:47:25 -07:00
Amruta Kulkarni
7a2871544b qcacld-3.0: RSO enable for open and secure connection
Currently rso enable for open and secure connection is handled
incorrectly.
For secure connection roaming should be enabled
after key exchange is complete.
For open connection rso enable is done twice.

Fix is for enabling roam offload for open and secure connection.

Change-Id: I0abde2a6001f176c97e4aa59947260a50c48e6cc
CRs-Fixed: 3271248
2022-08-31 16:03:54 -07:00
Gururaj Pandurangi
61dfd77555 qcacld-3.0: Handle eMLSR STA concurrencies in policy mgr
Handle the following the eMLSR STA concurrency scenarios

1) eMLSR STA + SAP/P2P GO/NAN - Send a force disable link request to
FW on any one of the eMLSR links. FW will decide which link to disable.
2) eMLSR STA + STA/P2P Client - Send a force disable link request to
FW on any one of the eMLSR links. FW will decide which link to disable.
This action happens before vdev start of the new connection request.
3) eMLSR STA + TDLS - TDLS connection is not allowed since eMLSR STA is
given higher priority.
4) If there is already an existing connection, then eMLSR is not allowed.

Once the other connection goes down, the disabled eMLSR link is restored.
The concurrency handling API is invoked from corresponding interface
manager APIs.

Change-Id: Ib7d5da5dcb8eb3ea16c6e50c8fcadc20972d7d05
CRs-Fixed: 3185078
2022-06-26 05:17:55 -07:00
David Oladunjoye
946c8f039a qcacld-3.0: cmn: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: I7e38c098c58146dc2c762d86ff3eae97a21aa98b
CRs-Fixed: 3217408
2022-06-24 07:46:00 -07:00
Sheenam Monga
8076b56e37 qcacld-3.0: Add handling for four port connection
Add support to handle 2 sap and 1 ml sta link.
Currently, get pcl fails for fourth connection when
2 sap link and 1 ml sta link is present due to which
fourth connection is not allowed as pcl len is becoming 0.

Fix is to add handling for fourth connection when existing
concurrency is P2P/SAP + P2P+SAP + 1 ML STA link.

Change-Id: Ief969018da14096f758fea4bd06d17e7e8d039b7
CRs-Fixed: 3219328
2022-06-13 17:49:42 -07:00
Pragaspathi Thilagaraj
142cab9c7e qcacld-3.0: Check for allowed frequency during set pcl
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
2022-05-29 06:03:57 -07:00
Liangwei Dong
00c79e5785 qcacld-3.0: Add SAP P2P GO force SCC in same band
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
2022-05-26 13:34:04 -07:00
Abhishek Singh
2b4bc8d5df qcacld-3.0: Add logic to disable a link during STA connect/roam
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
2022-05-24 00:57:24 -07:00
Abhishek Singh
12e3558871 qcacld-3.0: Call enable/disable link APIs from connect/disconnect/roam
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
2022-05-24 00:57:18 -07:00
Jyoti Kumari
eafa02c574 qcacld-3.0: Skip STA connect on 6G or 5G indoor chan if SAP is up
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
2022-05-18 05:20:43 -07:00
Liangwei Dong
7bf14b97ea qcacld-3.0: Move SAP check_concurrent_intf to SAP IF mgr
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
2022-04-20 05:46:37 -07:00
Utkarsh Bhatnagar
fea133e371 qcacld-3.0: Move MLO STA concurreny handling to Policy Mgr
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
2022-03-21 17:05:03 -07:00
Bing Sun
2950f903c9 qcacld-3.0: Do not send force inactivity if partner links are in quiet
If all the partner links are in quiet status, do not send force inactivity
on the link.

Change-Id: Icf5356f9d05e871dcf602e2382a1d150dd057aed
CRs-Fixed: 3101961
2022-02-11 04:13:12 -08:00
Jyoti Kumari
ffe9db4483 qcacld-3.0: Don't disable NAN if MLO connection presents
Don't disable NAN if MLO connection presents.

Change-Id: I698fdd69b14f9992cf9c2becfd50c80ec376a784
CRs-Fixed: 3120663
2022-02-02 18:20:04 -08:00
Abhishek Singh
301881e1c4 qcacld-3.0: Remove temporary comments from if_mgr API
Remove temporary comments from if_mgr_disable_roaming_on_vdev
and optimize it.

Change-Id: Iab36aff4779ac5761216e5abc596c8e980f9b059
CRs-Fixed: 3122127
2022-02-02 05:39:14 -08:00