Current issue:
When roam from legacy to MLO, set vdev MLO flags but not increase the
mlo_vdev count, when disconnect, decrease mlo_vdev count, assert will
happen.
Solution:
Use API wlan_vdev_mlme_set_mlo_vdev and wlan_vdev_mlme_clear_mlo_vdev to
set MLO vdev flag.
Change-Id: Ib6fc2e479f222dca2f1c30df6d5fcf27fd07ae29
CRs-Fixed: 3299156
When roam from MLO to SLO, don't clear assoc link MLO flag.
Remove 1 useless vdev parameter of mlo_cleanup_link.
Change-Id: I3e3dff0ad3f3fef8f955eaae8af1a3c564248432
CRs-Fixed: 3298471
When roam from MLO to SLO, partner link vdev1 keeps UP wrongly.
To fixe it, clean up partner link vdev1, but keep assoc link vdev0
MLO flag.
Change-Id: I13d256e9f05755f01cea668456f00bf33c8862b4
CRs-Fixed: 3290015
After roam sync is recevied the phymode will be updated for bss peer.
For MLO roaming use link address and channel to find the bss peer and
update the phymode.
Change-Id: Ic181fdb73ceeb8dfb980a4121a7569b12d3361dd
CRs-Fixed: 3280059
For mlo AP, bssid in wmi_roam_synch_event_fixed_param of
WMI_ROAM_SYNCH_EVENT is AP MLD addr, when use it as link addr,
failed to register peer and set peer as connected, so all Tx
are not allowed including EAPOL.
Fix it by getting AP link addr and frequency of each link from
setup_links_param array of WMI_ROAM_SYNCH_EVENT.
Copy link info from roam sync event to connect response before notify
os_if roam complete, os_if will send link info from connect response
to wpa_supplicant, supplicant will use it to add MLO Link KDE(s) into
EAPOL-Key 2/4.
Change-Id: I87833784a4e0b9240725223069c55fb0db3bc88f
CRs-Fixed: 3277878
Currently if link specific probe response generation fails
STA keeps sending probe requests until proper probe response
is received or join timeout failure. This results in ML
connection failure
Change is to continue with single link ML connection if probe
response generation for link/s by clearing partner link information.
Change-Id: Ia969501a3bdd1ac70e14f3a0eafd0752207b66da
CRs-Fixed: 3238861
In case of single link mlo roaming, set both dp peer flags
is_first_link and is_primary_link to 1, then datapath will
create MLD peer.
Change-Id: I935c42b2c3eaa558028d45bdbf502007723f656c
CRs-Fixed: 3271224
On 11be MLO disabled platforms,
- Add checks in mlo roaming api's for to avoid NULL access.
- Add empty inline function definiations to be used
when 11be MLO flag disabled.
Change-Id: Idc906164279e74530dcf8bdc670464be8ce8c57e
CRs-Fixed: 3141792
Currently, roaming is not aborted in failure cases on
the link vdev and it's aborted only on primary vdev.
It results in link vdev not being cleaned up when roaming
fails due to some reason.
Change-Id: I0eb4b1da06a295935ff95be38228a5cacf127a73
CRs-Fixed: 3096648
Host driver creates two vdev as part of initial connection.
If the connected AP supports MLO, both(sta and link) of the vdevs
would be moved to UP state.
Firmware sends roam sync indication to host when it roams to a
new AP. The event carries new AP info and the new AP could be
legacy AP. If the current AP is MLO and new(roamed) AP is non-MLO
AP, move the link vdev state to INIT as it's in UP state.
Change-Id: Idd9638ea446306b0309e5127f08e3dbc1ec9edc2
CRs-Fixed: 3106038
CM, PE and WMA changes for mlo roaming
- Roam start and roam sync propogation updates.
- Handling connected link bitmap.
- Link specific assoc response generation
- WMA changes to handle add/remove peer
for mlo roaming scenarios.
Change-Id: I365a26ebb761d93dadd33c9fb8248c28e9eda94b
CRs-Fixed: 3033766
- New api's added to handle mlo roaming scenarios.
- Read and store link addr from wmi.
Change-Id: I6a18802d27f72235dc69d2eedb05f3e563d1b0f4
CRs-Fixed: 2997105