Commit Graph

513 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
46a19eb3f7 qcacld-3.0: Add support to handle WMI_ROAM_SYNCH_KEY_EVENTID
Register event handler for WMI_ROAM_SYNCH_KEY_EVENTID.

Store the roamed AP keys for all links in crypto module
Add CM function pointers to iterate and store the parsed
keys for each link.

Change-Id: Icee5eeea23724a7d69cf895023e75e856d88a685
CRs-Fixed: 3577927
2023-08-11 04:35:08 -07:00
Pragaspathi Thilagaraj
72c6ae5928 qcacld-3.0: Don't enable roaming till vdev is up during link switch
During link switch, as part of the disconnect sequence, roaming
is enabled on the other connected vdev and this causes RSO start
to be sent before vdev up is sent on that vdev. This causes
abnormal firmware behavior.

So don't send enable roaming till the vdev is up in case of link
switch. RSO start will be sent as part of the install key sequence.

Change-Id: Ib9fe520ec3d2b5c91fdba192934418e235082a31
CRs-Fixed: 3581618
2023-08-11 01:23:54 -07:00
Liangwei Dong
6db9e28a32 qcacld-3.0: Fix wrong bitmap to update inactive link
Use link bitmap to update inactive link bitmap instead of
link id in Roam indication.

Change-Id: Ibdffbf7a4ab06f34affb0f4b1876c9dbbe95c395
CRs-Fixed: 3583587
2023-08-10 05:13:03 -07:00
Jianmin Zhu
af2244d20a qcacld-3.0: Avoid MLO RSO start before link vdev up
For mlo initial connect, vdev0 connected first, when received assoc rsp,
then up vdev0 at last trigger vdev1 connect, set wlan_connected_links
bitmap for vdev1.

For owe 1x roaming, vdev1 link is set up on host side, when handle roam
sync, we need stop RSO first to finish EAPOL, then trigger vdev1 connect,
set wlan_connected_links bitmap for vdev1.

Above design has race condition issue:
vdev0 becomes up (T1) before set wlan_connected_links bitmap for vdev1
(T2), if enable RSO for vdev0 happens between T1 and T2 for some reason
like vdev2 connect/disconnect, mlo_check_if_all_vdev_up return true, so
mlo vdev0 RSO is enabled in F/W before vdev1 up, which is unexpected.

Fix proposal for both initial connect and roaming:
For mlo initial connect, vdev0 connected first, when received assoc rsp,
we know whether other links need set up, can set wlan_connected_links
bitmap at that time, then up vdev0, at last trigger vdev1 connect.

For owe 1x roaming, vdev1 link is set up on host side, when handle roam
sync, we need stop RSO first to finish EAPOL, then set
wlan_connected_links bitmap for vdev1, at last trigger vdev1 connect.

Change-Id: I9abe48dbf7781be80ab5ec99ec42e6324a676283
CRs-Fixed: 3576584
2023-08-08 18:38:37 -07:00
Liangwei Dong
4615224b77 qcacld-3.0: Add link switch notifier for concurrency check
Add link switch notifier callback to check concurrency
allow or disallow for link switch request.
If the target link is force inactive, disallow the link switch
to it.

Change-Id: Iac8b443c85bbf7c4b714b62e8f3d0968a3ad6226
CRs-Fixed: 3579454
2023-08-08 15:26:49 -07:00
Liangwei Dong
0d56659ab1 qcacld-3.0: Skip link switch disconnect/connect event
If disconnect/connect is for link switch, do not notify
the link switch disconnect and connect event to link force
handler. That is not ML STA connection down. After link
switch connect completion, driver will re-evaluate the
link force state.

Change-Id: Id7463fa9ba80c4cf150ca069c297e226e8208010
CRs-Fixed: 3567072
2023-08-08 15:26:43 -07:00
Pragaspathi Thilagaraj
bd699c287b qcacld-3.0: Modify mlo supported bands based on roam_band_bitmap
roam_band_bitmap is updated based on the vendor command from
userspace, when NCHO band configuration is received.
Update the MLO support_link_band sent to firmware as part of the
RSO commands to intersect the user configured roam_band_bitmap
value.
This will restrict the firmware to advertise only those bands
sent in the WMI_ROAM_MLO_CONFIG_CMDID command, and firmware
will advertise only links corresponding to the configured
bands in the reassociation request.

WMI_ROAM_MLO_CONFIG_CMDID will be sent when
QCA_ATTR_ROAM_CONTROL_BAND_MASK attribute is received in roaming
subcmd: QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET as part of
NCHO set band, since RSO stop, followed by start is sent during
set band to update PCL to firmware

Change-Id: Iba34411956bdb09502623bac9a51fb4663c632a8
CRs-Fixed: 3580693
2023-08-07 05:06:46 -07:00
Liangwei Dong
20b3165adb qcacld-3.0: Add link removal flag in link info
At present, the link removal flag is in vdev object, but vdev may
repurpose to other link, the link removal flag has to be in link
info struct.
Add link removal flag in link info data struct and remove
it from vdev struct.

Change-Id: I6116e89f2bb065979f4e405ef0fac386abebcf17
CRs-Fixed: 3572836
2023-08-04 06:53:18 -07:00
Vinod Kumar Pirla
863127e879 qcacld-3.0: Enhancements for link switch disconnect
For link switch disconnect do not send the deauth/disassoc frame
OTA and avoid flow pool unmap as to avoid flushing the memory
allocated for the packets sent OTA for which status is not yet
received.

Once the status is received DP flushes them via the
non-transitioning link.

Change-Id: If2ec024f19730f6ebebf0428f912bfa8dbbddea9
CRs-Fixed: 3557779
2023-08-02 04:53:31 -07:00
Srinivas Girigowda
25fd32eab3 qcacld-3.0: Allow connected monitor and legacy STA connection
If the connected monitor is configured and then legacy STA is trying to
associate to Access point, check is enforced to reject the connection
request if STA + Monitor concurrency is in place.

Legacy STA + monitor mode is not allowed, whereas Legacy STA +
connected monitor should be allowed.

Hence, Fix this issue by checking for STA + Monitor mode concurrency
only if local_packet_capture (Connected monitor) is not enabled.

Change-Id: Ia4fc74ab2ec91e6d66ebba23614268173da1e7bb
CRs-Fixed: 3574577
2023-08-01 20:28:21 -07:00
Liangwei Dong
340f1ba9c9 qcacld-3.0: Handle dynamic force inactive num
With force link inactive cmd rsp, FW will always send a current
active/inactive link bitmap. Host will select one link from current
inactive bitmap, and update the policy mgr table. But FW can
still switch the active/inactive between the links in force num bitmap.
When SAP coming up on same MAC and MCC with the dynamic inactive link,
host will send force inactive the link to FW. Then FW will not try
to active the link even in dynamic mode.

Change-Id: Ib4e438ca4c8e6945b3d7db42cd92d0393fcc1fc9
CRs-Fixed: 3564737
2023-07-31 23:55:00 -07:00
Aasir Rasheed
4d6b1664a9 qcacld-3.0: Update roam scan freq list for partner link
Currently, host driver updates only assoc link channel to
firmware through roam_scan_chan list. Firmware may issue
an additional scan if it finds partner link channels in
the RNR info but not present in the roam scan channel list.

To avoid additional scan, send all link channels to the firmware.

Change-Id: Icfd9dac77f98a208b35d47060aab7cf2c5e4c885
CRs-Fixed: 3536183
2023-07-30 22:44:55 -07:00
Chunquan Luo
babe235645 qcacld-3.0: Fixed BTM roam update to userspace
Since driver support special roaming and common roaming,
support common BTM roaming update to userspace, and we
can fetch the info by vendor_cmd_tool.

Change-Id: I753ded47d650ae4c9c579265485f081c16581c25
CRs-Fixed: 3568450
2023-07-26 10:52:14 -07:00
Aasir Rasheed
dccc97079b qcacld-3.0: Add pairwise key for all the link
Currently, we are storing all the keys based on vdev
object. However, with n link mlo there is a need to
add all the keys based on psoc level.

This change is to add pairwise key based on psoc level.

Change-Id: Ib2b53f800eeec0694514239a5d87052accadbc33
CRs-Fixed: 3565190
2023-07-21 16:49:29 -07:00
Deeksha Gupta
de1338a8cf qcacld-3.0: Reset AP link info from MLO_MGR
In case of new candidate selection or another connect request,
reset the previous AP link info and later add new AP link info.

Change-Id: Id80ed2cb7b2a02af06492dedf9a9d07baf906cf4
CRs-Fixed: 3530705
2023-07-18 22:54:36 -07:00
Deeksha Gupta
4941611135 qcacld-3.0: Send partner link info during peer_assoc_cmd
Send partner link info during peer_assoc_cmd

Change-Id: I64b7b6c9aee8d436ec813ae2b0eac025c985d212
CRs-Fixed: 3530233
2023-07-17 10:38:38 -07:00
Liangwei Dong
11a102942b qcacld-3.0: Notify connection state change event
Notify connection state change event to policy mgr
to change force link mode accordingly.

Change-Id: I2da0f453ee1af67c95346f2dc23e9e757aa491b6
CRs-Fixed: 3525191
2023-07-11 12:48:56 -07:00
Abhinav Kumar
4704ced888 qcacld-3.0: Update assoc channel width as per mlo vdev
The issue is host always uses assoc link channel width
to calculate the list of the channel(s) to trigger
wide band scan for both links.

In the case of N link MLO connection, the associated
channel and associated channel width may be different
for assoc link and non-assoc link(s).

Fix is to choose the proper associated channel width
and prepare the channel list for each link(s).

Change-Id: I2fce5d1153d396f1bfc9575572d90d2cfec0ac8a
CRs-Fixed: 3539444
2023-06-29 18:14:20 -07:00
Liangwei Dong
2958ab1b39 qcacld-3.0: Handle link id bitmap from set link state response
Convert link id bitmap to vdev bitmap and update policy mgr
connection table.
Record the current force link command state to mlo context.

Change-Id: I0b28222de10a9493a153ee00189b87e4275a4231
CRs-Fixed: 3515467
2023-06-28 05:04:46 -07:00
Krupali Dhanvijay
026c0f435f qcacld-3.0: Reset CPU frequency in HO failure
CPU min frequency is boosted to maximum once roam start is received.

Add API to reset CPU frequency in case of HO failure.

Change-Id: Ib59d4d69a68f311dbb01609e7f5f64c307fcedc2
CRs-Fixed: 3522942
2023-06-26 03:21:37 -07:00
Surya Prakash Sivaraj
8169b54f12 qcacld-3.0: Parse SSID IE properly during roam
The roam candidate frame event gives the beacon of
the roam candidate. The SSID IE check expects minimum
size of the SSID to be 2 bytes. Because of this, the
candidate with ssid size 2 or less is not cached to
the scan table.

Fix this by not considering the size of the SSID IE.

Change-Id: Ifbe36ac8cf0f9c75a3830a2826f5330fa300df5b
CRs-Fixed: 3512310
2023-06-22 12:49:01 -07:00
Surya Prakash Sivaraj
5f79c535ac qcacld-3.0: Enable RSO for SL open connection
Driver doesn't enable RSO currently for SL + Open auth cases.

Enable the RSO from connect complete path for open auth. Add changes
to enable the RSO only after all the ML links are up in case of
N-link MLO.

Change-Id: Ie3540493660e3605fe6739dc6d7706782b8a78ea
CRs-Fixed: 3509724
2023-06-22 06:06:28 -07:00
Jianmin Zhu
5ab6ec7f8b qcacld-3.0: Fix roam scan channel list trimmed after roaming
When roamed from mlo to single link, link vdev1 disconnected, assoc vdev0
RSO is disabled, after vdev1 disconnected, even vdev0 RSO is enabled again,
roam scan channel list is trimmed.

To fix it, when link vdev disconnect, just stop RSO, don't disable RSO,
roam scan channel list won't be trimmed.
Disable RSO only when assoc vdev disconnect.

Change-Id: Ie624cffa3acaebcd73abb7be54ce1016e88447f6
CRs-Fixed: 3522793
2023-06-20 09:58:27 -07:00
Aditya Kodukula
7028b37955 qcacld-3.0: Fix typographical errors
Fix typographical errors spanned over various files in cld.

Change-Id: I82a7eec4335d617a43c89589418a21885074fde0
CRs-Fixed: 3529627
2023-06-15 21:23:48 -07:00
Rachit Kankane
5e32b65f93 qcacld-3.0: Channel width from peer phymode
Add MLME API to get channel width for STA / P2P-CLI mode
from peer phymode

Change-Id: Iffef01b5fe0ad603ae3b75a659144c3fdcc23a02
CRs-Fixed: 3529931
2023-06-14 20:25:41 -07:00
Surya Prakash Sivaraj
aaae25f8ab qcacld-3.0: Make ssid whitelisting per vdev
Whitelist SSIDs are configured per netdev.

Therefore, move the ssid white list configurations
from psoc level to per vdev level.

Change-Id: Ia555f0c15362099afaae562a2779f7c26c1f4fe5
CRs-Fixed: 3510816
2023-06-09 23:58:47 -07:00
Pragaspathi Thilagaraj
98481d3bd6 qcacld-3.0: Populate assoc link id in join request
Populate assoc link id in join request from scan entry self
link id

Also check if vdev is MLO vdev before copying partner info
to join req from connect request

Change-Id: I0ddff6e4b0b312e94e42977ea472ee94ac6e919e
CRs-Fixed: 3523640
2023-06-09 23:58:31 -07:00
Jianmin Zhu
fb57957fe3 qcacld-3.0: Fix FW assert for RSO disabled before stopped
During roaming sync, disconnect happens from osif for some reason,
RSO_STOP is dropped for reason
RREASON_DRIVER_DISABLED/REASON_ROAM_STOP_ALL,  RSO_DISABLE is sent to
F/W for different reason REASON_DISCONNECTED. RSO_DISABLE happened
without RSO_STOP before,  so F/W assert.

To fix it, for disconnect from osif, set RSO_STOP reason as
REASON_DISCONNECTED, same as RSO_DISABLE REASON_DISCONNECTED, then it can
be sent to F/W during roam sync.

Change-Id: Ie0c63bd735a231e61cca1eb7bbc6d785f2860f53
CRs-Fixed: 3520269
2023-06-09 13:49:28 -07:00
Surya Prakash Sivaraj
c1d792ec75 Revert "qcacld-3.0: Enable netdev queues before sending ROAM_SYNC_COMPLETE"
This reverts commit Ib05ca01892b6d8b62badcafb64bb8c16270ee9f8.

Change-Id: I2a464e1e321328ae01fa816164ca4c523d6e07d6
CRs-Fixed: 3520779
2023-06-08 20:46:17 -07:00
Pragaspathi Thilagaraj
15bc1d6db6 qcacld-3.0: Fill join request from cm vdev connect request
Currently driver fills join request from cm_vdev_connect request
and cm_vdev_connect request is filled from connect request.

Fill join request directly from cm vdev connect
request and update the vdev connect request from scan entry for
assoc vdev and for link vdev copy populate the connect request
directly from cm_connect request.

Change-Id: I408eb8044e96437558666a1948233a0df30bfd22
CRs-Fixed: 3516716
2023-06-08 05:08:50 -07:00
Rachit Kankane
29fa4e5ac8 qcacld-3.0: Set max supported BW for STA
Set MAX supported BW for STA so that the device can connect
to APs which are advertizing 20 MHz in beacons but increases
in association response and next beacon.

Change-Id: I8ed418382f696c7461235996c4e90201cafafcb3
CRs-Fixed: 3415718
2023-06-05 03:39:38 -07:00
Vijay Raj
f1e696de2b qcacld-3.0: Modify diag connectivity logging for P2P
In p2p mode, the connectivity logs were logged.

Modify diag connectivity logging in order to not log in
p2p mode

Change-Id: I540b29cb117e77aea4283e4fec51517827b15378
CRs-Fixed: 3515702
2023-06-03 18:17:54 -07:00
Sheenam Monga
f2c84fdaac qcacld-3.0: Clean up roam_scan_period_after_inactivity
Cleanup roam scan period after inactivity timer.

Change-Id: Idba15ef9c41fdfe339e24df4ec87a66277986ee3
CRs-Fixed: 3515188
2023-06-02 20:37:26 -07:00
abhinav kumar
966ceefe89 qcacld-3.0: Process get cu_req for 2 GHz band connection
Process GET_CU_FOR_EACH_SUB_BW request from the upper
layer in case DUT is connected with a channel width
of 40 MHz and the connected frequency is in the 2 GHz
band.

Change-Id: Idc748f83af72baed946340c61d5c6a0bba1baf00
CRs-Fixed: 3506871
2023-06-02 16:47:56 -07:00
Deeksha Gupta
1c29ae50af qcacld-3.0: Update assoc_link_id in case of single link MLO connection
Currently, in cm_vdev_join_req, driver does not update the assoc_link_id
when connection is SLO.

Fix is, driver should update the assoc_link_id in case of SLO.

Change-Id: I50e4834b77e87df34327f6825778fc460641afa9
CRs-Fixed: 3509965
2023-06-01 09:39:04 -07:00
Arun Kumar Khandavalli
cc42fce760 qcacld-3.0: Log AP link_id to the connect information log
Log the AP link_id as part of the connect information log which helps
in debugging.

Change-Id: I5244e6c1d2cec905005515078839c0feda721a29
CRs-Fixed: 3508511
2023-05-30 06:05:35 -07:00
Surya Prakash Sivaraj
723506a226 qcacld-3.0: Enable netdev queues before sending ROAM_SYNC_COMPLETE
Upon the completion of roam sync indication event, the
roam sync complete cmd is first sent to the firmware.

This is followed by the netdev queues enable. This
approach adds latency in the first downstream tx frame,
and the FT roaming KPI is not met due to this latency.

To fix this, if roam sync handling is successful, enable
the queues and then send roam sync complete to the firmware.

It's observed that the current change improves roaming
latency by 6 msec.

Change-Id: Ib05ca01892b6d8b62badcafb64bb8c16270ee9f8
CRs-Fixed: 3483751
2023-05-30 02:57:15 -07:00
Gangadhar Kavalastramath
c62db467f7 qcacld-3.0: Remove self reassoc code in LFR2
On reception of reassoc req from user space to the
connected AP, wlan driver proceeds with reassociation
without clearing the keys. This leads to encrypted EAPOL
frames in LFR2. To avoid this, trigger disconnect & delete
keys before proceeding with reassociation.

Change-Id: Ib287b5d43ae69a7696a28f0e59347c7376d581c3
CRs-Fixed: 3505422
2023-05-25 10:09:41 -07:00
Amruta Kulkarni
0e0878c654 qcacld-3.0: Parse T2LM IE in Association Response
Add support to parse t2lm ie from association response frame
and store in mlo dev context. Once all links are up
the t2lm configuration will be applied.

CRs-Fixed: 3449605
Change-Id: Icd1f3c9bbdfbe1c2a8bfe119d92d6e686e21a7fd
2023-05-24 21:39:49 -07:00
Bing Sun
b1586c23fb qcacld-3.0: Do not release vdev reference if vdev is NULL
In wlan_cm_get_associated_ch_width, if vdev is NULL, which means
reference is not gotten. do not call wlan_objmgr_vdev_release_ref.
Otherwise there is QDF ASSERT.

Change-Id: Id1cc2be3869ad555ebeb1c91a4b5f75d499e70ac
CRs-Fixed: 3503877
2023-05-22 20:14:55 -07:00
abhinav kumar
5e17372c8c qcacld-3.0: Post disconnection DUT should connect in max BW
Scenarios are:
    1. Connect to AP in HE80/HE160
    2. Set the bandwidth to 20 MHz (SET_MAX_BANDWIDTH 1)
    3. Disconnect from AP
    4. Reconnect to AP.
    5. AP should be connected to the max bandwidth.

To fix this, host should update channel bandwidth to
the max supported bandwidth on disconnection.

Change-Id: I139d082ca4e4950d760f1da074dbcc021fb8a9e1
CRs-Fixed: 3491677
2023-05-18 09:36:26 -07:00
Srikanth Marepalli
ccc0cee97d qcacld-3.0: Send the 6 GHz channel in WMI_ROAM_CHAN_LIST
When the Intra band INI is enabled and the STA connected in 6 GHz
band the channel count and frequency are not sent in the
WMI_ROAM_CHAN_LIST command as the band is not defined or unknown.
As a result of this DUT is unable to trigger partial roam scan in
the current connected 6 GHz channel and does a full roam scan.

Add the 6 GHz band check in the Intra band enabled case.

Change-Id: I765c233d1e6bf71cab186041ebd7df2293be6f05
CRs-Fixed: 3469197
2023-05-14 13:37:24 -07:00
abhinav kumar
6f8d32955c qcacld-3.0: Update roam scan freq list on connection failure
Host sends roam scan offload channel list via WMI_ROAM_CHAN_LIST
to FW after a successful connection.

The host creates a ROAM_SCAN_CHAN list with BSSID entries present
in the scan database. If the connection to an AP fails due to
Auth/Join/Assoc timeout, Host removes the AP entry from the Scan
database, assuming it’s not reachable (to avoid reconnecting to the
AP as it's not responding). Due to this, FW does not include the
frequency(s), for which the connection failed, in roam scan.

Fix is to store the frequency(s) of all the candidates to which the
driver tried connection in the rso config during connect resp failure
and use the same list to update the roam channel list on the top of
entries present in scan db.

Change-Id: I7a4bb3961a64fcf987cb6f2be87b6475363d500a
CRs-Fixed: 3486154
2023-05-11 09:00:22 -07:00
Srikanth Marepalli
59bf42fbdb qcacld-3.0: Notify TDLS disable to FW only after deleting the peers
With the commit(Ic425cc065a29bbc444531f523eaccb14014ae47a) driver
enqueues the TDLS peer deletion as part of roam sync indication
and then enqueues the TDLS disable notify to firmware. But before
this driver is processing the TDLS enable notify which is part of
add_sta and then the TDLS disable is getting processed and
notified to firmware, which results in disabling the TDLS after
roam.
The correct sequence during roam should be delete the TDLS peers,
followed by TDLS disable notify to FW and then TDLS enable notify
to FW.
Driver already take care of deleting the TDLS peers as part roam
sync indication callback. This change calls the TDLS disable
notify API only after deleting the TDLS peers during roam.

Change-Id: I58ef78852290c95e6709e6aa1b0671916322625f
CRs-Fixed: 3486585
2023-05-11 06:31:07 -07:00
chunquan luo
cae0b75f8b qcacld-3.0: Change roam background scan abort log
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Change roam abort background scan log instead of fail.

Change-Id: Ia10f010e8c353b12bdbbe0407c8e3d30b1ea45c2
CRs-Fixed: 3469290
2023-05-09 19:26:55 -07:00
Abhishek Singh
6d513e3e0d qcacld-3.0: Fix cm req accessed outside cm req or CM lock
Caller of wlan_cm_get_rnr, uses the cm request data without
lock.

Fix it by passing a local memory to wlan_cm_get_rnr to get
a copied data to use.

Change-Id: I574de5391dd02c1603e7c9c4b79b58d45e6e7739
CRs-Fixed: 3483870
2023-05-09 13:33:23 -07:00
Amruta Kulkarni
8e9674f1a0 qcacld-3.0: Send roam invoke request if no scan candidate found
For ML-AP, if fastreassoc command is received and scan
candidate is not found in host scan db.
Host will still send roam invoke request to FW, FW will
perform scan.

Change-Id: I8157cf396e3e0c19607d990307e07d31e879a2d4
CRs-Fixed: 3474257
2023-05-08 06:42:58 -07:00
Vijay Raj
fb8e6d4f3e qcacld-3.0: Remove unused legacy logging for BTM event
Diag logging is used for connectivity logging of
BTM event.

Remove unused legacy connectivity logging mechanism for
BTM events.

Change-Id: I65dc5fe5f071fd74eeed2433894a238318ce76ab
CRs-Fixed: 3470401
2023-05-05 01:56:23 -07:00
Vijay Raj
07156c60b8 qcacld-3.0: Remove legacy roam connectivity logging mechanism
Diag logging is used for connectivity logging of roam
candidate event and roam roam result event.

Remove unused legacy connectivity logging mechanism for
roam candidate and roam result events.

Change-Id: I826107fc764abdeec7408dbb6c52e580d1fe32f4
CRs-Fixed: 3470206
2023-05-05 01:56:17 -07:00
Jyoti Kumari
a551e66960 qcacld-3.0: Check whether vdev supports mlo cap or not
Scenario: There is dual sta present in HBS mode in DUT where one
sta is on wlan0 interface and it has 11be capability, so it has
formed ML connection with ML AP. The another STA is present on
wlan1 interface and this STA also supports 11be capability. But
as per current design, host supports 11be with MLO. It doesn't
support 11be alone. Also 11be with MLO is supported only in wlan0
interface. So for another connection which are present in wlan1
interface, even if it supports 11be host will downgrade to 11ax
and form connection.
During the formation of second connection, host will sends peer
create command(WMI_PEER_CREATE_CMDID) to firmware. Before sending
this command, host checks only eht cap in cm_create_bss_peer()
and fills the mld_mac addr. Because of that, DP assumes that
there is an ML connection and it creates MLD peer on wlan1
interface. Due to this, it causes ping failure on wlan1 interface
as the ICMP response might be coming on incorrect peer and it's
getting dropped.

As part of fix, check whether vdev is mlo supported or
not in cm_set_peer_mld_info()

Change-Id: Ieed67aa2735d200a140f9e771d791b3b9308a0f9
CRs-Fixed: 3474874
2023-05-04 11:34:42 -07:00