This change selects psoc with second highest bw link as primary link
for first ML STA.
Change-Id: I1b60f83f695b04d533e4851b3751b8e1dfd9790c
CRs-Fixed: 3521765
Add MLO manager and target interface support to force power
save on all the active MLO links for a defined number of
beacon periods. Force power save allows the firmware to
suspend STA links for X beacon periods and remain asleep
even if the AP advertises TIM as opposed to regular power
save mode where STA links wake up if the AP indicates that
it has buffered data to send.
Change-Id: Idb3ea42cfc2333a4b177780d09ddec6904ea0c16
CRs-Fixed: 3514468
Update Priority access ML IE processing with below.
1. Check for ie header before updating sub elements
2. Add WME vendor IE parsing support
Change-Id: If479f95517946511d5e94feadf92a10c61efd2a6
CRs-Fixed: 3508861
Alloc dp_mlo_ctxt only if its not allocated, if dp_mlo_ctxt
is previously allocated reuse the same.
Change-Id: I666b3e6090afaa1ef4d20ff154c4b996a5eef51c
CRs-Fixed: 3510336
Add 'max_simultaneous_links' in peer_assoc_params
and send it to FW via peer_assoc_add_mld_params.
Change-Id: Ie4c3492cf03ef43e1bb02122019cda3679fb5f3a
CRs-Fixed: 3476565
Add EPCS state machine support per peer.
Based on user command trigger or EPCS action frame
EPCS state will change.
Change-Id: Ib516543cec6a7007f12680b0e86b9edbe223b68d
CRs-Fixed: 3491941
This change selects psoc with highest bw link as primary link
for first ML STA.
Change-Id: I7d71507df79070c7e975ed2f27cbadce707d9cd4
CRs-Fixed: 3509085
Store the copy of t2lm ie in mlo dev context and
apply t2lm config to FW when all links are up.
Change-Id: I87b2db9aba263634a558f24d99bf8e5bb91f2128
CRs-Fixed: 3504533
This change adds support to set flag to indicate peer assoc
sent to FW. On peer delete, using the flag, it excludes
the peer assoc command missing link in peer delete command
Change-Id: Icb559941598a797e7d437fbb90a94358f709a2b3
CRs-Fixed: 3504769
Prevent start and stop process of target or soc, as it could
lead to issues for mlo enabled socs of that mlo group
Change-Id: Ib2b28443828cbc4be670f5bc8a69d4fecfc1c8b7
CRs-Fixed: 3500007
Update ML Reconfig ie parsing for D 3.0:
1.Add new common info length subfield in common info length.
2.remove STA profile subfield from Per-STA profile subelement
3.add STA info length and STA mac address subfields in the
STA info field.
Change-Id: I02988ae7a2098b0278438e26156475e2b4f9c4ab
CRs-Fixed: 3465406
When STA roams from SLO to SLO, only vdev 0 should be set as connected
link, while vdev 1 should not be set as connected link.
Currently vdev 1 is set as connected link incorrectly because its link
id is 0 which is the same with the link id from roam sync event.
link id is not a unique parameter. All are 0 by default.
vdev id should be used because it is a unique parameter.
Change-Id: I097b6f672c4656bfa2892f102e50998065463516
CRs-Fixed: 3497124
Add qualifier flags in link preference structure which represent
bit is set for TLT or preferred link
Change-Id: I85a5fee0a804f6803fa52b5052bbcf635a613025
CRs-Fixed: 3482281
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.
Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.
Change-Id: I489057a2753bf7bf091e87b902efa833ea90ece9
CRs-Fixed: 3471557
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.
Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
This change processes Duplicate Assoc req from MLO Station
This would reuse old link peers and populate assoc req IEs.
This will fail, if Assoc link is not same as previous,
and number of links are not same as previous assoc req
processing.
Change-Id: I6a8c412b0bc484e8eb64ca794e54e080c391f7f8
CRs-Fixed: 3465223
In case of MLO, to avoid race between ongoing connect and a new
disconnect, add fix to validate disconnect req for MLO STA
Change-Id: I4b27a06103ffce637738b1894c3bdcf46533043c
CRs-Fixed: 3493915
Allow modification of ML Reconfig AP remove delete timer at non-AP MLD
even if the AP removal is already in progress. The standard does not
currently provide for modification of the delete timer countdown at AP
MLD. However, if the AP MLD does carry out such a modification in
scenarios such as those given below, the non-AP MLD would be out of
sync with the AP MLD. Hence, we allow this modification.
Scenarios:
- At our AP MLD, if non-Tx VAP removal is ongoing, and subsequently
removal of its Tx VAP is requested with Delete Timer smaller than that
of non-Tx VAP, then non-Tx VAP's Delete Timer gets overridden with
that of the Tx VAP (this is due to an existing standards limitation
which doesn't allow change of Tx VAP role).
- There could sometimes be an issue with AP MLD due to which it might
incorrectly prolong the countdown by some margin in situations such as
an intervening CSA operation, etc.
- Some future 802.11be draft change may (or may not) allow
modification of the delete timer. (We may not guarantee
interoperability between an AP MLD implementing a future draft and a
non-AP MLD implementing the current draft, but the current
implementation change contributes towards best-effort
interoperability).
Change-Id: I6abc7565a5822bb7206c873716f1e3fc6a04416e
CRs-Fixed: 3466313
Add code changes to handle new wmi_mlo_link_disable_event
Extract the wmi event params and store in host defined
structure.
Change-Id: I6893bfa4da7b27f4a9b1ce2936057bb3576a317c
CRs-Fixed: 3458680
Clear the peer-level tid-to-link mapping and set
direction to invalid if-
1) Host receives updated T2LM info through
critical update.
2) There are two T2LM elements received in beacons
and mapping switch time expires for first mapping.
Apply the second mapping.
3) There is a single T2LM element and its mapping
switch time expires. Apply default mapping.
Also, initialize peer-level mapping structure
when a new peer is created.
Change-Id: I1d06ec5f2f5aa398724213a3be08b6588f78c9b0
CRs-Fixed: 3435329
Currently host is sending t2lm info to firmware multiple
times when mapping switch time expires.
Fix is to check if new beacon/prb response has updated
mapping before sending the t2lm information.
Change-Id: I10182652bf77ede2dd94bedbc1c3a76a6bc3a7ff
CRs-Fixed: 3438997
From the driver, call wlan_mlo_dev_t2lm_notify_link_update()
API whenever there is a link update happens using T2LM.
Change-Id: I51be6eafcb558bcf54919bead8c93227c33be194
CRs-Fixed: 3431540
In the T2LM context status code was used as 1 byte.
As per ieee802.11 spec, Status code value is 2 bytes.
Hence, add the changes in T2LM code to use the status
code as 2 bytes.
CRs-Fixed: 3464786
Change-Id: I4dd54d8a12f3bb1ca493ee0e9b1ec20b3590d97b
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.
Change-Id: I1cf105adb72f890f167343d491fff832a2e16729
CRs-Fixed: 3471557
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.
Change-Id: Ie8ca48f8f6065f02eefaea85ad967e32d09787fc
CRs-Fixed: 3470139
Add a new wrapper API to send peer-level negotiated
tid-to-link mapping to FW as the existing API to send
the mapping received from the beacon/probe response
uses ML dev context whereas the new API uses ML peer
context.
Change-Id: Ifada5600e9524585c69847f332ed0280fd316813
CRs-Fixed: 3423127
For MBSSID, aid mgr is allocated twice in
few corner cases of VAP create.
This change adds check, if aid mgr is allocated
by legacy code in vap create, aid mgr allocation
would be skipped
Change-Id: Ie44fab12badb5c9487ce3de333376e1885e727d0
CRs-Fixed: 3461883
1. Start response is received for vdev-0 and continues processing
mlo_sync_complete for partner vdevs holding ap_ctx lock and waiting
on vdev_sm lock of partner vdev
2. During which one of the partner vdev completes CAC_WAIT and continues
processing mlo_sync_complete holding vdev_sm lock and
waiting on ap_ctx lock. This scenario is resulting in RCU_STALL.
The last vdev in MLD to receive start response is responsible for
dispatching MLO_SYNC_COMPLETE event all the partner vdevs and then to self
If vdev_up_bmap is set, then return.
Change-Id: I5ae7146eeba5154331f442f9987593044bde76b4
CRs-Fixed: 3457019