As part of mlo connect notification, connected_link_bmap is gatting
updated for partner links, but for assoc link also this needs to be set
Add fix to update mlo connected_links_bmap for self vdev
Change-Id: I4d64d97e67484dac2e96a3d22b5648ec2bc320d4
Currently, the check to free the original connect req when connection
fails is specific to MLO connection. Update the check to free on a
failed legacy connection as well.
Change-Id: I168d0555fecabf31c4702e382f2bd4bd63a15839
CRs-fixed: 3081248
Add API to get partner link information in the per-STA profiles
present in a Basic variant Multi-Link element. The partner link
information is returned only for those per-STA profiles which have a
MAC address in the STA Info field. Also note that the current
implementation does not have Multi-Link element fragmentation support
- this will be added in an upcoming change after shared helper
utilities for the same are available. Similarly, the current
implementation does not have support for per-STA profile fragmentation
- this may be added once it is introduced in the IEEE802.11be
standard.
Change-Id: Ied7092ba1366d39fa15adffc3737d4ad5c0adf59
CRs-Fixed: 3040491
When a connection is requested but the client is unable to find the
candidate, connection will fail. In legacy case, legacy disconnection
path should be invoked. Update the mlo_disconnect_no_lock function to
match the mlo_disconnect logic when checking for MLO capabilities.
Also update the link connect notify function to prevent queuing
multiple disconnect requests.
Change-Id: I5ed4b213b1fe6b48d2d5631bf1625bea2864f606
CRs-fixed: 3069545
Add API to get the link identifier from a given Basic variant
Multi-Link element or element fragment sequence, of the AP that
transmits the Multi-Link element/element fragment sequence or the
nontransmitted BSSID in the same multiple BSSID set as the AP that
transmits the Multi-Link element/element fragment sequence and that is
affiliated with the MLD that is described in the Multi-Link element.
Change-Id: I45039a6ed8ccd9403eae9514c60bcd8d694d2a31
CRs-Fixed: 3040407
When the WLAN_FEATURE_11BE_MLO_ADV_FEATURE macro is enabled,
some functions are not reachable or defined. Move the
definitions accordingly to fix compilation issues.
Change-Id: I698f290e69f0acc9b72d60081849bce093d05741
CRs-fixed: 3075650
Add API to get the MLD MAC address from a given Basic variant
Multi-Link element or element fragment sequence.
CRs-Fixed: 3053521
Change-Id: I96cf893ae4a089c20bd2d8b783c4e3d1d4eb3e4a
Add API to get the variant of the given Multi-Link element or element
fragment sequence.
Change-Id: I09b10c8e14e1a7e7b500116782f07d9fde7a78e1
CRs-Fixed: 3040403
Add API to find the first Multi-Link element or the start of the first
Multi-Link element fragment sequence in a given buffer containing
elements, if a Multi-Link element or element fragment sequence exists
in the given buffer.
Change-Id: I3dbd0f9053e3a1e20b47c182b5258f49b1e2c409
CRs-Fixed: 3040400
mlo_get_ml_vdev_list() is a common API, it should not be
embraced by macro WLAN_MLO_MULTI_CHIP.
Change-Id: Icf22de20fdeca374d674109d10b4887b833fa346
CRs-Fixed: 3073916
This change implements timer based msgq processing to defer
the context for MLO peer. It also fixes some of the issues in
MLO peer path, It adds utils APIs for MLO params
Change-Id: I94384c91adfb8785d833bff1ba5541dc98cfc383
CRs-Fixed: 3059837
Modify MLO disconnect handling to issue disconnect on all links in
parallel
Also modify connect resp to accommodate ml info in connect resp
Change-Id: I57575c6ce7c8ebff7770f862dc81e7dfd20aa42d
Fix MLO compilation issue while exporting the symbol
wlan_mlo_link_peer_delete.
Change-Id: I911917ab7f142fdc49ea99e9613ddb6fb86b5ab3
CRs-Fixed: 3067718
If vdev is not in disconnected or connected state,
then the event is received due to connect req being flushed.
Hence, ignore this event
Change-Id: If7f51496fcca283cb6559b027a21df82ae9ec7d2
There is a memory leak in the mlo connect failure the connect req
and the connect, ies are not getting freed because of the mlo is vdev
check. During the allocation there is no condition as such, so remove
the same during the connect failure path to resolve the memory leak.
Change-Id: I9076761cd3b918435af9929fcf888996d2129e98
CRs-Fixed: 3057979
When sending the connect for subsequent links in MLO, make sure to set
the capability bit, otherwise it will be marked as assoc link.
Change-Id: Ic0145b40e84ea440ea389200356d1f916a1ba530
CRs-fixed: 3055892
When performing an MLO connection, the subsequent links need data
from the original connection request. There is no easy way to
determine if the connection is MLO or not at this point, so
store the original connect request regardless of the connection
type. Also make sure all instances are freed properly.
Change-Id: Iccce376ba36a8c49127b177fc4a1bac54aafb315
CRs-fixed: 3051842
In case when connect req is received while ML connect is in progress,
disconnect is issued with SB_disconnect as source but sb disconnect is
not handler in join active. So, send osif_cfg_disconnect as a source
Change-Id: I9604e23193ba3aef334f0873d2460a992b1914ea
Currently ML secure connection is failing for second link at STA.
This is because, auth type is not proper in connect request crypto
params. Hence failed to get the partner scan entry with matching
auth type.
To resolve this, reset auth type while preparing partner link connect
request.
Change-Id: Ic291ad4e4405ea2f625c1e47d052166eba21036b
CRs-Fixed: 3040789
When processing a peer or southbound disconnect on the non assoc link,
there is a vdev stop issue due to the correct state not being set. For
this link, set the disconnect source as MLO instead of passing it down
from the caller.
Change-Id: I8db444e7c80659a1a1026a53326e99c96ef631f0
CRs-fixed: 3040658
Fix compilation issues in MLO related code.
Add debug prints when generating link assoc response.
Add NULL value check.
Change-Id: Ie5951816ee39428c086ec91eaa6fc9cf598072b6
CRs-fixed: 3038725
When associating the partner link in an MLO connecting, reuse the
association IEs from the original connection. To do this, store the
connection manager connection request to query later, since this
holds the assoc IE data.
Change-Id: I100351a4c9cd439222af202ca3e80ef50554e1e3
CRs-fixed: 3016095
Add API to lookup pdev object based on hw_link_id and return this with
reference held. Caller is responsible for releasing the ref
Change-Id: I6e3e371462c0d2a4b590b4a5de5c098a72577827
CRs-Fixed: 3026072
Remove the locking mechanism when getting the link vdevs since it is
causing a deadlock.
Change-Id: I360bd1ad609cfe1d0eb3576b66aeeb93495811fa
CRs-fixed: 3025767
In few of the scenarios, as part of sync complete handling mld_dev_context
lock is been acquired, which causes deadlock as it is already taken before
dispatching the event.
Hence get the vdev list under lock and reference taken and then dispatch
mlo_sync_complete individually.
Change-Id: Id23dba89276ecaadb02cd3a39a66b4fca3f97c7c
CRs-Fixed: 2924329
Resolve compilation error seen on some platforms by rectifying print
format specifier for qdf_size_t to "zu" in MLO utility functions.
Change-Id: I68b0696fea1c54578631e731a3cc48ec0eb84c97
CRs-Fixed: 3017056
This change adds MLO support to Peer.
It implements,
1) MLO peer list management
2) AID allocation
3) MLO Peer creation/deletion
4) Notifying partner links on peer creation/deletion/assoc
Change-Id: Ie1b675dccdf0de1d79f6f32d9255cf3cca53fdf2
CRs-Fixed: 2967057
Add count to hold number of vdevs in a MLD link and fix sending
WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE in sync context to vdev SM.
Change-Id: Ie07c3e541ed5926ac08ae5a9d50e4365fefb1d52
CRs-Fixed: 2982475
Replace global mlo manager context variable with the mlo_mgr context
already defined at global umac object.
Add API to set mlo context at umac global object.
Change-Id: Iad8d534b761aa93e124a721d3d6e01a81ef69b15
-Add validation check for MLD address as part of ML dev context
creation.
-Modify some function descriptions to clearly state the purpose.
Change-Id: Id049145351bdd790126e0ab522d24e4c399c0ad2
CRs-Fixed: 2976130