Add force flag support for PTQM migration.
This flag will be used to allow migration to vdevs which are not
allowed to be selected as primary by using the ini config.
This will be helpful in scenarios where if the current primary link is
going down and peer ptqm needs to be migrated but the partner links of
that mld are the user disabled links for ptqm.
Also add skip_pumac_cnt to mark a link to be skipped from being selected
as new primary
Change-Id: Ia8c7881f37d32211a732c5c7394c4a608099b62a
CRs-Fixed: 3548552
Currently, util_parse_pamlie_perstaprofile_stactrl checks
whether both EDCA and MU EDCA are included in the EPCS
response frame. Per the 11be_D3.1, the STA Profile subfield
optionally contains EDCA and MU EDCA parameters, so remove
the check to address IOT issue.
Change-Id: Ic1f7d4dbb951d9605b7cd7f0f1970895328183f6
CRs-Fixed: 3557340
Add new file wlan_mlo_mgr_link_switch.h and .c
which contains MLO manager public file containing
link switch functionality.
Change-Id: I2bce76e7de09a1c9ba4a4cdd83855db41166739b
CRs-Fixed: 3530571
In current scenario osif_cm_free_connect_req() and mlo_free_connect_ies()
used to free up connect request and its sub memory.
Similarly cm_free_connect_req() and cm_free_connect_req_param() also
free up the connect request and its sub memory.
So replace osif_cm_free_connect_req() with ucfg_cm_free_connect_req(),
mlo_free_connect_ies() and qdf_mem_free() with wlan_cm_free_connect_req()
and mlo_free_connect_ies() with wlan_cm_free_connect_req_param().
Change-Id: Ie62603652dd77ae5ae9f7b7085d4b9bb257eaf53
CRs-Fixed: 3554234
In PTQM migration WMI command, multiple peer entries can be sent.
If the number of entries are more than WMI buffer size limit, then
multiple WMI commands are sent. If there are some WMI PTQM cmd sent
successfully followed by a failure, reset peer flags only the failed
entries instead of all the entries
Change-Id: I1031f1ac700e05e651a2488827cb6b6cda195bac
CRs-Fixed: 3556179
Add send_mlo_link_set_active_id_cmd_tlv API to send
force link bitmap to target.
Change-Id: Ie3a41bd2c82b6d10c8d82e4afa83621969c01798
CRs-Fixed: 3515441
Modify return type of primary umac selection API so that multiple
callers can use the same algo for selecting new primary umac
Change-Id: I6e38839ae3489b6643ef0337c8e20d7c738c3763
CRs-Fixed: 3529926
Add nstrinfo in ml_partner_info and parse sta info.
Add nstr_info in ml_peer_ctx and peer_assoc_params
and send to FW
CRs-Fixed: 3483776
Change-Id: I255fc671b84a2048c6057a61a6de8d81db36c681
1. Host receives QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE
vendor command.
2. parse the new attribute
QCA_WLAN_VENDOR_ATTR_LINK_STATE_MIXED_MODE_ACTIVE_NUM_LINKS
and get the number of MLO links to operate in the active state.
3. If any of the links is in an inactive state due to concurrency,
we need to reject the request.
4. Host sends to FW via WMI command WMI_MLO_LINK_SET_ACTIVE_CMDID via
the below WMI attributes with mode WMI_MLO_LINK_FORCE_ACTIVE_LINK_NUM
and set the wmi flag control_flags to indicate if FW need to use
force link number instead of force link bitmap.
Change-Id: I91759e6a1273d393f4bef1264478950416752355
CRs-Fixed: 3529489
In current scenario during OWE roaming when HB failure occurs,
it should clean copied reassoc response and roaming info. But it
is not getting freed which leads to memory leak and host driver
crash while on idle shutdown.
Free copied reassoc response at mlo_dev_ctx_deinit().
Change-Id: I1a25e4ad1ba62d3d6b90da38cb5b7ab7c3f8e91a
CRs-Fixed: 3530058
Make provisions to explicitly set non assoc link as primary netdev for an
MLO association.
CRs-Fixed: 3508341
Change-Id: Iaef4eff6ac309f278a18f8ceee2ffb6c4ad604b6
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