Commit Graph

3003 Commits

Author SHA1 Message Date
Surabhi Vishnoi
6176b7062f qcacld-3.0: Prevent suspend when bss color change is in progress
Currently, on obss color collision detection driver sends bss color
change IE in beacon and updates the color switch count in IE in
every beacon until color switch count reaches 0.

If the wlan driver enters suspend during this updation of bss color
change IE in beacon, the bss color change is not completed until wlan
resumes. This will lead to delay in bss color change after bss color
collision is detected.

To fix this issue, acquire wakelock once obss color collision is
detected and release it once obss color change is completed. This fix
is similar to how CSA is handled currently in driver.

Change-Id: I9c3e7cfe16da116905121b044054c0987afbca09
CRs-Fixed: 3405919
2023-03-08 04:18:45 -08:00
Srinivas Dasari
27ebcc45c2 qcacld-3.0: Don't clear vdev MLO flags upon roam sync abort
Host driver may abort the roam sync due to multiple reason.
The expectation is to revert the state of vdevs/links to original
state i.e. before receiving the roam sync indication.
Currently, there is a cleanup of vdev MLO bitmap assuming that
roam abort should reset whatever is set as part of roam sync
handling. But these flags might get set in previous connection
and are not supposed to reset upon roam sync abort.
Driver does the disconnection as part of HO_FAIL event handling
and corresponding vdev MLO flags gets cleared as part of that.

So, don't cleanup any vdev flags as part of roam sync abort.
Cleanup wlan_connect_req_links which is set only when roam sync
starts.

Change-Id: I5ca0d789a49fcf954dac332f494650866913f94b
CRs-Fixed: 3418430
2023-03-07 19:46:44 -08:00
Aditya Kodukula
37ad7204d2 qcacld-3.0: Update link peer mac address for mlo stats
Currently in the driver as part of ML unified_ll_get_sta stats,
the peer mac address for partner link is not being updated in
the callback function, causing driver to report incorrect
stats to upper layers.

To fix this issue, update peer mac address before invoking
vdev station stats callback function.

Change-Id: I39c460467a3572aad05e4c5fab136a844b753941
CRs-Fixed: 3421153
2023-03-07 19:46:39 -08:00
Jeff Johnson
7c73be1d9d qcacld-3.0: Fix ucfg_dp_config_direct_link() stub
One of the parameters to the ucfg_dp_config_direct_link() stub
implementation does not match the associated parameter in the
prototype.  The stub and the prototype should match, so modify the
stub to align with the prototype, which matches the non-stub
implementation.

Change-Id: If9dda7db2bfbbce94c0356a73b33ae7569337955
CRs-Fixed: 3424788
2023-03-07 06:27:50 -08:00
Jeff Johnson
59a541e018 qcacld-3.0: Fix wlan_mlme_public_struct.h documentation
wlan_mlme_public_struct.h has some documentation that is not being
processed by kernel-doc since it isn't using the kernel-doc comment
indicator "/**". Fix those comments, and also fix the documentation
syntax errors now reported by kernel-doc.

Change-Id: I407b5abefe8313071e5e99d52d69f181880c431d
CRs-Fixed: 3424372
2023-03-06 17:34:16 -08:00
Jeff Johnson
d5b7eb0a5a qcacld-3.0: Remove unused enum pkt_origin
enum pkt_origin is unused, and is poorly defined so it should not be
used in the future, so remove it.

Change-Id: Ia51ffa4518b36ea50f9ed67007978e228b18c7fc
CRs-Fixed: 3424371
2023-03-06 16:00:11 -08:00
Divyajyothi Goparaju
28632436e5 qcacld-3.0: Add support for g_sap_ps_with_twt_enable ini
As part of new requirement of 'SAP PS with TWT enabled',
add ini 'g_sap_ps_with_twt_enable' support in host
to enabled/disabled SAP power save with TWT enable.

Change-Id: Iea76f9cdef6f0753a6dfcebedc2aeab17d121faf
CRs-Fixed: 3421610
2023-03-06 11:41:43 -08:00
sandhu
c32269cc16 qcacld-3.0: Add bool flag to mlme_vdev_disconnect_peers legacy callback
Add bool flag to mlme_vdev_disconnect_peers legacy callback.
This flag will be used by WIN. MCC should ignore this flag.

Change-Id: I693d1aeda1109a987311c1b87346960bed52309f
CRs-Fixed: 3403218
2023-03-05 11:22:39 -08:00
Jianmin Zhu
4dc1a27cf5 qcacld-3.0: Support mld self roaming with high rssi trigger
Support mld self roam between DBS(2 GHz+5/6 GHz) and HBS(5 GHz+6 GHz).
Change high rssi config.

Change-Id: Icb65f26509848a09fe46bf01154a0f42efa073f2
CRs-Fixed: 3416549
2023-03-04 03:54:07 -08:00
Srinivas Dasari
18b0b2c910 qcacld-3.0: Populate partner info from roam sync ind to pe session
3-link ML connection/roaming expects link id to generate link
specific (re)assoc response from received (re)assoc response.
This info is fetched from pe_session but it's not populated
properly in case of roaming. Roam sync indication carries all
links info whereas the assoc rsp generation API expects the
link info for which it has to be generated.
Copy partner link info only from roam sync indication to
pe_session to cater the same.

Change-Id: I75c9a42688f7613ca3f1afab8afe77622bb659aa
CRs-Fixed: 3412939
2023-03-03 11:45:48 -08:00
Srinivas Dasari
8f1170af29 qcacld-3.0: Fetch bcn/prb rsp received freq based on source addr
Firmware sends beacon/probe rsp received to host as part of roam
sync(frame) indication. Frame received frequency is same as
re-association frequency in case of non-ML or single link ML
roaming.
But the ML probe response might come from non-assoc link in case
of multi link roaming. Probe response received frequency and
reassociation frequency are different in such cases. Some
IEs(e.g. HT_INFO) expect frame received frequency to match with
the frequency mentioned in the IE.
So, fetch the probe response received frequency from source
address of the frame and the ml_info of roam sync indication.

Change-Id: Ife96aa46de10d4cd6882e6d04479dfdd481582d4
CRs-Fixed: 3412842
2023-03-02 16:28:28 -08: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
Qun Zhang
29869c5fa8 qcacld-3.0: Support obtaining thermal level for non-offload case
Currently thermal level can be got from upper layer only
for FW thermal mgmt offload case. Per the requirement,
refine the code to support it for thermal non-offload
case as well.
Similar to offload thermal mitigation, add TX_OFF and
shutdown two states for non-offload case. Host will fully
stop TX traffic in TX_OFF state and target will trigger
shutdown when temperature come to the range of shutdown.
Per above requirement, add below four INI to configure
thermal temperature threshold value as need for TX off
and target shutdown.
gThermalTempMinLevel4
gThermalTempMaxLevel4
gThermalTempMinLevel5
gThermalTempMaxLevel5

Change-Id: I40d097ab8a5801052553ad7adedd38be475c7669
CRs-Fixed: 3413165
2023-03-02 04:17:22 -08:00
Jyoti Kumari
da3f3f0403 qcacld-3.0: Do not pass mode as arg in policy_mgr_is_vdev_ll_sap
Do not pass mode as an argument in policy_mgr_is_vdev_ll_sap().
Use vde_id to get the mode for further condition check.

Change-Id: Ie12c31d4cf536ba6c80f0e28524b4c99c23600d1
CRs-Fixed: 3414277
2023-03-01 10:29:27 -08:00
Surya Prakash Sivaraj
714848d11a qcacld-3.0: Update SR params on beacon update
If the Spatial Reuse parameters change in the beacon
post association, update the new parameters to the
firmware and userspace.

Add a new SR change reason for beacon update. Use this
to update the new SR params to userspace.

Change-Id: I929d8edf7425e6e9494027f6da07a5406d2db123
CRs-Fixed: 3316986
2023-03-01 00:53:17 -08:00
Surya Prakash Sivaraj
534c627cea qcacld-3.0: Support P2P GO on indoor channels
Add a new ini "p2p_go_in_indoor_chan" to enable support
for p2p go operation on indoor channels.

Do not allow standalone SAP on indoor channels if the
SAP indoor channel support is not enabled.

Change-Id: I2e6220ebcefe09b4ad5de496c36879ef048cb5b8
CRs-Fixed: 3405597
2023-02-28 20:00:35 -08:00
Ananya Gupta
988ceaccd5 qcacld-3.0: Deinit DP TXRX module when rx thread init fails
DP TXRX module is not cleaned when DP Rx thread init failed
To fix this, when DP Rx thread init fails, free DP TXRX module
as part of failure sequence.

Change-Id: I311b84a76036c8dd1e60b9f8c653fc126e031543
CRs-Fixed: 3413933
2023-02-24 17:52:03 -08:00
Tiger Yu
b995298539 qcacld-3.0: Potential out of memory access when call add_sbs_chlist_to_pcl
Limit num_channels to be less than NUM_CHANNELS to fix potential
out of memory access when calling add_sbs_chlist_to_pcl in the
policy_mgr_get_channel_list.

Change-Id: I58fdbc67b7692c7d1dff5aca6cbd6dc67115a65c
CRs-Fixed: 3416540
2023-02-24 17:51:58 -08:00
Paul Zhang
afd194fb4e qcacld-3.0: Correct logic for roam fails in NUD case
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection

Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
2023-02-24 13:50:44 -08:00
Jyoti Kumari
d749270732 qcacld-3.0: Rename policy_mgr_is_ll_sap_present() properly
Rename policy_mgr_is_ll_sap_present() into
policy_mgr_is_vdev_ll_sap(). As this api mainly checks
whether the given vdev is ll sap or not

Change-Id: I7f87aceeb0ed6ac5bb7014db1fd6213e62e6305e
CRs-Fixed: 3413644
2023-02-24 04:58:36 -08:00
Liangwei Dong
7abfa2d80e qcacld-3.0: Add ML reconfig starting notify for link removal
Handle mlme_vdev_reconfig_notify callback to get notification
after receive the first ML reconfig link removal IE.
Override the delete timer tbtt to 0 to fire the timer early
if timer is less than 1s. This is to avoid host delay of sending
to link inactive command to FW and FW receive deauth before host
inactive link command.

Change-Id: I7865b7942813fd7facf4daa8624c976166814311
CRs-Fixed: 3380147
2023-02-24 01:57:34 -08:00
Liangwei Dong
2f9f0a579b qcacld-3.0: Handle link removal for ML STA
Handle link removal for ML STA vdev:
Send force link command to target if MLO STA link number > 1.
Select other inactive link to active if possible.

Change-Id: I40567364ad240399caf6be6683b96d17f6a4aab0
CRs-Fixed: 3352849
2023-02-24 01:57:28 -08:00
Yu Wang
70c5469566 qcacld-3.0: trigger panic if SSR DSC ops timed out
Trigger panic if SSR timed out.

Change-Id: I72d81da46745d2f6a5ff34a57b6d66b7f7171dde
CRs-Fixed: 3398969
2023-02-23 22:06:39 -08:00
Rahul Gusain
3064b4603c qcacld-3.0: Out of bound access in ML connection
Currently, while fetching pcl for some vdev id, host driver retrieves
the number of ML connection and provide as max index value for vdev list
and info array. This max index  can't be more than
MAX_NUMBER_OF_CONC_CONNECTIONS from functionality perspective.
But static analyzer tool complains that there are chances for out of
bound access of the given arrays while filling the indexes.
So, to fix this, add checks to avoid any such possible out bound access.

Change-Id: I09261e23620df5fc73887c9e5633b408afa66796
CRs-Fixed: 3412348
2023-02-23 00:56:43 -08:00
Jianmin Zhu
f6035ce635 qcacld-3.0: Extend WMI_ROAM_STATS_EVENTID for enhanced roam
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
  trigger reason, trigger condition, abort reason,
  scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
  number, dwell type, max dwell time of each channel
  and total scan time.
3.all types of roam related frame information, include
  timestamp and successful or failed status for Preauth,
  Reassoc, EAPOL-M1/M2/M3/M4.
Cache roam information in wlan driver, when qca vendor
cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to
user space.

change-Id: Ic5e1120b51c20c103100833b4296002c5939b021
CRs-Fixed: 3389269
2023-02-22 07:34:02 -08:00
Liangwei Dong
c84d6090e1 qcacld-3.0: Add MLO STA concurrency dump info
Add API policy_mgr_dump_ml_sta_conc dump MLO STA
concurrency state.

Change-Id: Ia6e5d5b1abb653a970668f6cc81e3c665f1c0446
CRs-Fixed: 3400383
2023-02-18 18:45:58 -08:00
Sheenam Monga
49a247ab1b qcacld-3.0: Consider Random 6 GHz channel if DCS triggers CSA
Currently, if Channel change is required via DCS then ACS
is triggered to select the best available channel . In case of
XR SAP optimization, SAP can not come on 2 GHz and frequencies
that can be shared by current SAP frequency on same MAC are
removed from scan list. As result of which frequencies
5/6 GHz in case of DBS and 5 GHz low/5 GHz high + 6 GHz based
on which 5 GHz range is shared with 2 GHz will be disacrded from scan
list. In short Scan can not be  triggered on freqeuncies of same MAC
on which SAP is up and can not come in MCC. So, if any other device
mode is up on 2 GHz on other MAC turning on SAP on other MAC can
cause MCC in case of SBS and DBS HW which is not preferred.

Fix is to start SAP on random 6 GHz channel when case CSA is required
due to DCS in case SAP can't come up on 2 GHz and scan can not be
triggered for same MAC on which SAP is enabled i.e ACS optimization
is enabled for XR SAP.

Change-Id: I0cb46a409e3ee04044f7a0b12addec464e87ef7d
CRs-Fixed: 3404097
2023-02-17 11:00:20 -08:00
Paul Zhang
708b3542a3 qcacld-3.0: Enhance logic to support mlo 2+ links
Enhance the code logic to support mlo 2+ links.

Change-Id: I618d789a502f0577d62d62243a25e7324e685315
CRs-Fixed: 3193628
2023-02-17 09:32:01 -08:00
Gururaj Pandurangi
e2119da18d qcacld-3.0: Add API for EMLSR padding delay
Add support to configure EMLSR padding delay subfield.
Host should advertise this value in assoc request if
it's greater than the value configured by FW during boot.

Change-Id: Ia9b1e748745278ed502980697f4851f8044db658
CRs-Fixed: 3364158
2023-02-17 08:00:16 -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
Amruta Kulkarni
c73843f146 qcacld-3.0: Fix to free copied reassoc response
During OWE roaming if north bound disconnect is received or
link vdev connection fails copied reassoc response is not freed.

Fix is to free the copied reassoc response in the disconnect path.

Change-Id: I19d839b63c774b29ee449635722fae744c7e461d
CRs-Fixed: 3404843
2023-02-16 21:30:06 -08:00
Surabhi Vishnoi
b8adb54ef5 qcacld-3.0: Send TDLS notify sta disconnect on roam
Currently, TDLS STA disconnect notification is not sent during
roam, so WMI_TDLS_SET_STATE_CMDID with disable command is not sent
to firmware. This leads to unexpected behavior in firmware when STA
have migrated to different mac based on new band (2 GHz to 5/6 GHz or
vice-versa) due to roaming, but TDLS STA remain on previous mac.
Firmware expects host to send WMI_TDLS_SET_STATE_CMDID on roam also
so that it can destroy and create new TDLS STA instance and map TDLS
STA to new mac.

To fix above issue, send WMI_TDLS_SET_STATE_CMDID with disable TDLS
state to firmware after driver receives roam sync indication which
leads to destruction of TDLS STA instance in firmware.
Host driver would later send WMI_TDLS_SET_STATE_CMDID with enable TDLS
state(not part of this commit) after successful STA roaming so that
firmware maps TDLS STA with new mac.

This change also removes unused ucfg_tdls_notify_sta_connect() and
ucfg_tdls_notify_sta_disconnect() APIs.

Change-Id: Id680d0f6193740b24e78115ac7dc7be26e28acff
CRs-Fixed: 3388507
2023-02-16 18:19:28 -08:00
Surya Prakash Sivaraj
b3f730b5c6 qcacld-3.0: Use kek/kck lengths from firmware
For newer AKMs with key materials length greater than
16bytes, kek, kck lengths varies. Therefore, get the
lengths explicitly from firmware and use them for saving
kek and kek materials.

Change-Id: Ie7ae61744e101899f12addc1baf90aed542a367b
CRs-Fixed: 3371470
2023-02-16 12:39:15 -08:00
Pragaspathi Thilagaraj
26ab632e89 qcacld-3.0: Refine target_if_ext_twt_evt.c
Refine target_if_ext_twt_evt.c to remove duplicate conditional
checks.

Also fix some code style errors by adding a blank line return to
last return in the API

Change-Id: I759becd864293b8bec35cb54763bdf4b047537c2
CRs-Fixed: 3402852
2023-02-16 01:42:45 -08:00
Sheenam Monga
f24422305a qcacld-3.0: Add support to consider XR profile for low latency sap
For low latency SAP, scan is not allowed on same MAC on which
SAP is up. So, consider HOST_CONCURRENT_AP_POLICY_XR when scan
list is required to be updated for low latency ap profile.

Change-Id: I6e25cd67298c16dee211edf6526be101054bd787
CRs-Fixed: 3404641
2023-02-15 03:43:58 -08:00
Gururaj Pandurangi
8bb46df0d8 qcacld-3.0: Set AMSDU/AMPDU caps per vdev from cli
In the case of EHT, if the mode is MLO then set AMSDU/AMPDU
caps per vdev instead of setting it only on assoc vdev.

Change-Id: Iaf480ee6a42cea83e30f412f663f688c0330d246
CRs-Fixed: 3392015
2023-02-14 21:22:07 -08:00
Gururaj Pandurangi
fa4bb2dfbf qcacld-3.0: Force active ML links based on link mac address
Add support to force enable/disable MLO links in MLSR mode
based on link mac address. The input will be an array of
active link mac addresses. Force enable the links associated
with all the mentioned link addresses and force disable the
links associated with mac addresses that are not given in
the input.

Change-Id: I14660f14ba6381da04460b641f971734c03aa9a7
CRs-Fixed: 3391992
2023-02-14 21:21:50 -08:00
Liangwei Dong
ff974bc970 qcacld-3.0: Trigger roam if no active MLO link
In multilink ML STA, if one link is removed by AP, and no other
active link, trigger roam by roaming invoke command.

Change-Id: I61d9413e2102315b258f946af2193f7cfb7b91aa
CRs-Fixed: 3352870
2023-02-14 19:49:19 -08:00
Sheenam Monga
a3a9b59ba8 qcacld-3.0: Add Support for QCA_WLAN_CONCURRENT_AP_POLICY_XR
Add support to handle new AP policy AP_POLICY_XR to handle
XR AP requirement

Change-Id: I55299bd186b5c97c2571d100cfcc7b6736b8de98
CRs-Fixed: 3403458
2023-02-14 17:18:14 -08:00
Sachin Ahuja
508cfeab6e qcacld-3.0: Add smart TX module and its log level
Currently smart tx module is not included in gFwDebugModuleLoglevel
ini as default.

Add the smart tx module with log level 1 in gFwDebugModuleLoglevel
ini as default.

CRs-Fixed: 3396120
Change-Id: I09e49745dfc17926d1f59b6bbe7a99ae09e36a16
2023-02-14 17:18:08 -08:00
Liangwei Dong
a60bf20c33 qcacld-3.0: Fix potential out of memory access
Limit num_chan to be less than WLAN_MAX_LOGGING_FREQ
and NUM_CHANNELS to fix potential out of memory access.

Change-Id: I5e0bcd449a738fa416daeaebaeafbd2ec11913ba
CRs-Fixed: 3405136
2023-02-14 12:16:39 -08:00
Roopavathi Lingampalli
ed0007c0c9 qcacld-3.0: Clean up SAP DP TX/RX init and deinit APIs in DP component
Remove SAP DP TX/RX init, deinit APIs dependency from
HDD module.

Change-Id: I5bf248dfd4e19fea784595c8c05e1a51610f3338
CRs-Fixed: 3402662
2023-02-14 04:44:09 -08:00
Asutosh Mohapatra
639844a833 qcacld-3.0: Optimize PMO logs
Extensive amount of PMO logs are seen in case of crash, which
decreses the debugging effciency.

To address this issue, optimize PMO logs.

Change-Id: I7c3b76d72deaf53782befc6d931866d907b5d168
CRs-Fixed: 3402290
2023-02-12 22:16:04 -08:00
Liangwei Dong
15691e1d7c qcacld-3.0: Assign combined ACS weight to 6 GHz PSC channel
For bw higher than 20 MHz ACS request, such as 160 MHz,
weight calculation will combine the neighbor channel's
weight which maybe Non PSC channel, the previous setting of
combined weight to channel of lowest weight of neighbor channel.
That maybe Non PSC channel, that causes the final ACS result
is Non PSC channel, which is unexpected for standalone SAP.

Fix by set combined weight to PSC channel, so that PSC
channel will have a valid weight in final sorting with 5 GHz
or 2 GHz list.

Change-Id: Ic37d005af524f5ff2c8cb2c86647f02ced7c32d7
CRs-Fixed: 3394384
2023-02-11 02:23:20 -08:00
Amruta Kulkarni
33989948e3 qcacld-3.0: Correct camelcase in roam data structure
Componentized code should be adhering to the coding standard.
However struct roam_offload_synch_ind has a large number of
camelcase members.

To fix this replace camel case members with snake_case.

Change-Id: If866379d8f01cc0e932ea391d586575de4af9163
CRs-Fixed: 3383579
2023-02-10 18:10:23 -08:00
chunquan
e27a423531 qcacld-3.0: Enhanced roam information struct declare
Declare enhanced roam related information struct and
enum in host driver.

Change-Id: Ibe9e9dacb2abdeac15d57a25b067da083ee05542
CRs-Fixed: 3396059
2023-02-09 19:23:17 -08:00
Jianmin Zhu
1eb2511a22 qcacld-3.0: Disallow MCC for STA_POLICY_UNBIASED
Even primary interface is configured, if dual STA policy is
STA_POLICY_UNBIASED, MCC is disallowed for both roaming and connect.

Change-Id: I6e26fdcdc930eb116771abfe310811c6534be09f
CRs-Fixed: 3396425
2023-02-08 20:00:08 -08:00
Vinod Kumar Pirla
1201f91318 qcacld-3.0: Translate addr in MAC header for action frame
For mgmt frames of subtype action and category not public,
kernel will use MLD address in SA, TA and BSSID fields.
So these fields in the mgmt frame received from kernel
needs to be translated to link addresses and similarly,
in frames received over the air, the link addresses in
these fields are to be changed to MLD address before
sending to kernel.

Change-Id: Ie63c09ece7550dfdc69c82ef8b7111251deee33e
CRs-Fixed: 3392314
2023-02-08 15:07:23 -08:00
Liangwei Dong
268d888358 qcacld-3.0: Add new parameters to set link active inactive
Add new parameters to specify link inactive vdev list to
support new MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE mode.

Change-Id: Ia51d2c77680b207bb5fb1bb5fbd91f2fd0ad5fd9
CRs-Fixed: 3352809
2023-02-08 06:56:11 -08:00
Surya Prakash Sivaraj
c76288d024 qcacld-3.0: Cleanup link VDEV SM on roam HO failure
In case of legacy to multi-link MLO roaming, if roam sync event
handling fails, then the pe_session is deleted for the link
VDEV and the cleanup happens only for the assoc vdev. Since,
the link vdev doesn't have proper session/vdev params, the
cleanup fails in link VDEV. This leaves the link vdev in UP
state, even after disconnection. Therefore, subsequent attempts
to connect to an MLO-AP would fail since the partner link is
never cleaned up and is in invalid state(UP).

To fix this, propagate the HO-failure error through state machine
and move the VDEV SM from UP->DOWN directly.

Change-Id: I6480a1821ab4c8cf9af6cd96af0f7889307c3b18
CRs-Fixed: 3362995
2023-02-07 20:01:39 -08:00