Commit Graph

468 Commits

Author SHA1 Message Date
abhinav kumar
f9137050ed qcacld-3.0: Avoid using fw-api defined enum at the CM layer
Currently, the definition of WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
is present at the fw-api level. The host should not be using fw-api
definitions outside the WMI TLV code. To make sure it,

1. Add host-defined enum vendor_control_roam_param which defines
the param IDs that the host supports.

2. Add logic to convert host-defined enum vendor_control_roam_param
to fw-api defined enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID and
vice versa.

Change-Id: I035ece1bc0af8e583782460868193affb76db0f3
CRs-Fixed: 3363916
2023-01-27 10:39:03 -08:00
Paul Zhang
66fcbb5894 qcacld-3.0: add critical update feature
Add critical update feature code. If BSS parameters change
count (BPCC) is changed, the value of cu_flag returns from
function lim_check_cu_happens is true. It can try to update
the critical update IEs code logic per cu_flag.

Change-Id: I39445a75e747e6e00a29be726fd447b9fbc7fb17
CRs-Fixed: 3296181
2023-01-26 01:24:45 -08:00
Amruta Kulkarni
87f1a94226 qcacld-3.0: Handle 1x roaming case
In case of 1x MLO roaming, 4 way handshake is offloaded to supplicant
and link vdev is down in FW. Host has to bring up link vdev post
set key installation.

Add handling in host for following:
- During roam sync indication handle only assoc link.
- Save reassoc response and link information.
- After keys are installed bring up link vdev by
queueing connect req on link vdev.
- Enable roaming after all links are up.

Change-Id: I9c0722f88e950ba05ec3dd7f44883bedf568f97d
CRs-Fixed: 3287316
2023-01-24 09:39:31 -08:00
Srinivas Dasari
b8db5ef04a qcacld-3.0: Handle SAP restart case in fixed chan SAP
Currently, unsafe channels are avoided when SAP restart happens.
If WMI_COEX_FIX_CHANNEL_CAPABILITIES is advertised by firmware
and if the SAP is started in a fixed channel, don't restart even
if the current operating channel is unsafe.

Change-Id: I5f7d632bcc00a1b5351dad64aca0ce16f1057537
CRs-Fixed: 3381394
2023-01-19 23:32:58 -08:00
Amruta Kulkarni
16faad0a70 qcacld-3.0: Fix T2LM validation check
During T2LM validation to pick assoc link, only check if
operation mode is station and if t2lm ie is valid.

Change-Id: Id31f83fabd22ae0e434e2720df773f778c7bb448
CRs-Fixed: 3370578
2023-01-19 16:41:51 -08:00
Rahul Gusain
4d22da60ff qcacld-3.0: Add print log for new roam scan type
Firmware sends the roam scan info tlv to driver during roaming.
Currently, in this tlv, firmware fills scan type as (0-3) and
driver log this as "PARTIAL", "FULL", "NO SCAN" and "Higher Band"
But with new requirement, idle roaming shall only roam to higher band
(2.4 GHz < 5 GHz < 6 GHz) than current band.
1. If current band is 2.4 GHz, it cannot roam to 2.4 GHz.
It can roam to 5 GHz and 6 GHz.
2. If current band is 5 GHz, it cannot roam to 2.4 GHz and 5 GHz.
It can roam to 6 GHz.
So, to add this requirement, firmware introduces new scan type 4 for
which driver need to log.

Change-Id: I80d1c47a434da5009aed4cab08c6eae91bda5b0e
CRs-Fixed: 3379468
2023-01-19 12:27:01 -08:00
Rahul Gusain
81ba2c92d4 qcacld-3.0: Optimize the free connect response
API to free the roaming info, fils ie and connect ies is now
present in cmn. Reuse of the same API to optimize the code.

Change-Id: I63b416323b4882ee589941e9b06f45a094b3f800
CRs-Fixed: 3378946
2023-01-19 12:26:54 -08:00
Vijay Raj
0a934e2617 qcacld-3.0: Add support for Neighbor report Logging
In api cm_roam_stats_print_11kv_info(), neighbor report
logging was not supported.

Add support for Neighbor report connectivity logging
through api cm_roam_neigh_rpt_req_event() for Neighbor
report request event and api cm_roam_neigh_rpt_resp_event()
for Neighbor report response event.

Change-Id: If9d93584d4030f76b5175d361dfd34fce3b5b5b1
CRs-Fixed: 3370797
2023-01-17 16:40:55 -08:00
Amruta Kulkarni
38e2b1f38d qcacld-3.0: Handle t2lm ie after connection complete
Change done to handle t2lm ie after MLO connection
is completed and save tsf value received in beacon.
Also fix to not select link if tid mapping is not present.

Change-Id: Ie2ce1fcfa50a4e14a083a508b268dfebb308d3ad
CRs-Fixed: 3342807
2023-01-16 04:34:27 -08:00
Gururaj Pandurangi
8859328749 qcacld-3.0: Add support for T2LM action frame handling
Add support for T2LM action frame handling.
- Add an API to parse T2LM negotiation request action frame
and accept or reject T2LM mapping based on ML link info.
If accepted, store the new info in peer level context
and send it to FW.
- Add an API to send T2LM response action frame to
acknowledge request action frame with status code.
- Add wrapper API to invoke T2LM deliver event.

Change-Id: I10d440bd1713740ab8b9f1fe46439bea92e179db
CRs-Fixed: 3367425
2023-01-15 07:08:12 -08:00
Paul Zhang
2e183b559f qcacld-3.0: correct logic for parsing t2lm ie
Adding extn_ie_header and the invoking function
wlan_mlo_parse_t2lm_info because dot11f logic
removed the ie header.

Change-Id: I957c574ecf6323bfd6fb488f417ab1f738b4ee37
CRs-Fixed: 3362726
2023-01-14 01:12:29 -08:00
Jeff Johnson
8da282a666 qcacld-3.0: Fix UMAC Documentation
The kernel-doc script identified a multitude of documentation issues
in components/umac, so fix them.

Change-Id: If30358cb83e90348e410cfea163353f2dd26b3fa
CRs-Fixed: 3360814
2023-01-13 02:09:41 -08:00
Jianmin Zhu
f9d4ce74c0 qcacld-3.0: Fix race issue of disconnect and roaming
Reproduce steps:
1. Driver received roam start from F/W, enqueue roam cmd in active queue.
2. Driver received disconnect cmd from wpa supplicant,  set link vdev
   vdev1 as disconnecting, enqueue disconnect cmd in pending queue.
3. Driver received MLO roam sync event from F/W, need handle link vdev
   first, assoc vdev later.
4. Driver didn't handle link vdev1 roam sync for disconnecting state, DP
   MLD peer isn't created.
5. Driver handled vdev0 roam sync, dp_peer_setup failed for DP MLD
   peer not created, asserted.

To fix it, when handle vdev0 roam sync, check state of all mlo vdev,
if either disconnecting, abort roam sync, and delete roam req, let
disconnect from upper layer continue.

Change-Id: Ie03e0031908fef0f403d2cacf8ec976a147ef1ed
CRs-Fixed: 3371850
2023-01-06 07:44:51 -08:00
Surya Prakash Sivaraj
2c5995f78e qcacld-3.0: Disable BTM offload based on BTM cap
The wpa_supplicant disables the BTM cap in extcap IE whenever
the MBO AP is not PMF capable, or if the btm_disable conf is set.

In current host driver design, the BTM offload is disabled only for
the MBO+non-PMF case. Therefore, add change to disable the btm offload
config if the BTM CAP is not present in the (re)assoc request as this
is determined based on intersection of peer and self cap.

Change-Id: I2fdc1010bccf5ce23f4ab2177aed6c374f7a510f
CRs-Fixed: 3369096
2023-01-02 00:12:15 -08:00
Divyajyothi Goparaju
5f85944f38 qcacld-3.0: Optimize ndpinactimeout vdev set param
Currently host sends two ndp inactivity timeout
params to firmware one after the other.

Combine these two ndp inactivity timeout vdev
set params and send to WMI to reduce number of
transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.

Change-Id: Icaeca85f2aa074f04d268b819fe86f4b7879c25b
CRs-Fixed: 3333749
2022-12-30 00:06:13 -08:00
Jianmin Zhu
476236fec2 qcacld-3.0: Fix RSO race condition issue
While scheduler thread init and enable RSO after MLO connected,
wpa_supplicant deinit RSO for MLO disconnect.
At last, RSO is enabled on host, RSO is deinited on F/W side,
no event for RSO stop cmd, vdev0 disconnect not finished for
cm_disconnect_continue_after_rso_stop isn't called.

To fix it, hold cm_rso_lock in cm_roam_state_change to make sure RSO
operation atomic. RSO operation of one thread not preemptied by RSO
operation of another thread. RSO init and enable process of connect thread
isn't preemptied by RSO deinit of another thread, no host F/W RSO out of
sync issue will happen.

Remove ucfg_user_space_enable_disable_rso from hdd_init_station_mode since
cm_rso_lock is held before created.

Change-Id: I3010895d26a622c2a14960847089a63736598b7c
CRs-Fixed: 3365417
2022-12-29 18:33:41 -08:00
Surya Prakash Sivaraj
ae712fa3de qcacld-3.0: Add support for cross-SAE AKM roam
Pass the akm explicitly in the external auth
request to the userspace since there are many
SAE AKM suites.

Change-Id: Ifef8657f7ef75b402aa670813eba6adc5ab9853a
CRs-Fixed: 3355395
2022-12-29 05:19:08 -08:00
Jianmin Zhu
3b23980d6b qcacld-3.0: avoid zero mld addr when update mac after roaming
For legacy STA like wlan1, has no MLD addr, can't copy it after roaming,
or vdev self MAC becomes 0.

Change-Id: Ia5d1f01d9101bfaba275cc879a14f2b8c6426d3b
CRs-Fixed: 3366012
2022-12-26 17:47:23 -08:00
Srinivas Dasari
2057769edd qcacld-3.0: Allocate sufficient mem for scan entry and bss desc of link
When STA roams to an MLO AP, non-assoc link might be superior
in features compared to assoc link and the per-STA profile
info may carry corresponding IEs. These IEs are extracted
and added to IE list of link probe response while generating
it. So, the link probe response generated from assoc link
probe response might be of more size than assoc link probe
rsp. Allocate buffer for the scan entry to be added to scan db
and bss descriptor to accommodate all of the IEs got generated
as part of link probe rsp generation.
Allocate MAX_MGMT_MPDU_LEN bytes for IEs as the max frame size
that can be received from AP is MAX_MGMT_MPDU_LEN bytes.
Same is applicable for link scan entry addition to scan db in
case of initial connection.

Change-Id: I2c2bb79176984a98034c071389c60ee4f649fd74
CRs-Fixed: 3359087
2022-12-21 15:56:22 -08:00
Srinivas Dasari
f3438c702a qcacld-3.0: Fetch link freq based on link mac addr from roam sync
Currently, link frequency is fetched from roam sync indication
based on vdev_id. But the vdev_id is of assoc link in OWE/1x
cases(where link vdev would be down as part of roam sync handling)
but it would of non-assoc link in case of other modes
like SAE/WPA2/.. So current fetching of frequency based vdev_id
may give invalid frequency in SAE case as non-assoc link vdev_id
is passed.
Fetch the frequency based on link mac addr to avoid such failures.

Change-Id: I0a5748ac351473d85b21f2da8d8f124715c4d595
CRs-Fixed: 3358448
2022-12-14 23:15:18 -08:00
Jianmin Zhu
6a88b4a711 qcacld-3.0: Update vdev self mac address after roaming
When roam from legacy to MLO/SLO, need change vdev self mac to link addr.
When roam from MLO/SLO to legacy,  need change vdev self mac to mld/net
addr.

Change-Id: Ife17fd0a79a9f067eb72ac510dbf437b6d3649d8
CRs-Fixed: 3351027
2022-12-14 00:02:18 -08:00
Srikanth Marepalli
b73718cf7d qcacld-3.0: Introduce ini to configure roam RSSI diff for 6 GHz AP
This is applicable only when the roaming happens from 2.4 GHz/5 GHz
to 6 GHz AP.
The value is used to check if the 6 GHz AP to which we are roaming
(from 2.4 GHz/ 5 GHz) is better than current AP in terms of RSSI.
This checking is disabled if the value is set to zero.

Change-Id: I77f1183e1fd704dfa153841e669a20c9e75d0fe7
CRs-Fixed: 3353346
2022-12-12 15:38:42 -08:00
Jianmin Zhu
61c100819e qcacld-3.0: Fix wrong SAE tx addr issue in WoW mode
In WoW mode, roam auth event may comes before roam start event, so CM
isn't in ROAMING state at that time, can't assume ROAMING state.

Change-Id: Ibf868db1ca0f9863d4beae4c83227cf04fe55adb
CRs-Fixed: 3357115
2022-12-09 19:09:48 -08:00
Surya Prakash Sivaraj
2095242876 qcacld-3.0: Increase PMK max length to 64bytes
For SAE-EXT-KEY AKM with group-21 pwe, the PMK
length is 64bytes. Therefore, increase the max
size of the PMK to 64bytes in host to facilitate
PMK storage and PMK offloads.

Change-Id: I777a31acd56073d6a0312c47d95fe7d155b06fc6
CRs-Fixed: 3353102
2022-12-09 09:35:17 -08:00
Vijay Raj
f101354847 qcacld-3.0: Add FW support for AKM 24
Add FW support for AKM 24

Change-Id: I067c7f2a4eabe680fdd38e78cb5ffbd8ad306ad3
CRs-Fixed: 3301709
2022-12-09 07:31:59 -08:00
vijaraj
d607d5e5e8 qcacld-3.0: Add support for AKM suite 24
Add support for AKM suite 24

Change-Id: I4b5be990a0f2d2aa481374486a5790970cc04592
CRs-Fixed: 3299864
2022-12-09 07:31:54 -08:00
abhinav kumar
9988950c6d qcacld-3.0: Abort roam invoke if BSSID is present in reject list
Driver adds a BSSID to the reject list due to multiple
DE authentication triggers from associated AP. If DUT tries the
FASTREASSOC command for the same BSSID multiple times, the host
triggers disconnection to handle roaming failure, and this results
in DUT losing the current connection.

To keep the current connection DUT should not trigger a roaming
event if the BSSID is already added to the reject list in the
host.

The fix is to add logic to avoid the FASTREASSOC trigger command
for AP(s) present in the reject list of HOST.

Change-Id: I315da12b3f93d5d9d67396a5dd9e12fa2be5fda0
CRs-Fixed: 3328847
2022-12-08 11:00:43 -08:00
Srikanth Marepalli
f6ae09b410 qcacld-3.0: Add vendor attribute to include 6 GHz in roam full scan
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This would include the 6 GHz PSC
frequencies by default.
This attribute allow that behavior to be modified to include PSCs only
if 6 GHz use has been detected in the environment.

Change-Id: I6dc380419f14b920737fd87cd9a487c28364563b
CRs-Fixed: 3351697
2022-12-08 02:48:30 -08:00
Amruta Kulkarni
63583f71ac qcacld-3.0: Validate T2LM IE
Adds support to parse and validate T2LM IE,
based on tid to link mapping pick the
association link for MLO connection.

Change-Id: I8ea23ff10f2a637148686f1e2194fd8cc1f4fb90
CRs-Fixed: 3344675
2022-12-07 02:23:58 -08:00
Srinivas Dasari
49ea4902ae qcacld-3.0: Reset the RSO SM of MLO link upon roam abort
Roam sync may get aborted on link vdev due to multiple reasons.
Link scan entry being not available at host is one such case.
del_sta response of BSS gets dropped due to stale link-RSO state
and results in disconnect timeout.
Reset the RSO state machine of link vdev when roaming is aborted
to allow cleanup the vdev in next disconnect.

Change-Id: Ie584c5b7ccae989cf2ce64e85da26d1b3526f1e0
CRs-Fixed: 3352543
2022-12-06 22:19:24 -08:00
Srikanth Marepalli
15bbff508e qcacld-3.0: Add vendor attribute to optimize roam full scan
User can include/exclude the frequencies in roam full scan that
were already scanned by the previous partial scan, using the new
vendor attribute introduced as part of roam vendor command.
Host sends the configured value to firmware.
As per current implementation of roam scan, if there are no APs
found during partial scan, immediately a full scan will be
initiated as a fallback. This includes all channels that were
already scanned as part of partial scan.
This attribute controls the optimization, to exclude all channels
which are already scanned as part of partial scan.

Change-Id: Icd6381b4daadcfe32dabda131ae92e2e32f07f1d
CRs-Fixed: 3343657
2022-12-05 11:11:58 -08:00
Jianmin Zhu
a30758ecca qcacld-3.0: Ignore duplicated roam start event
Ignore duplicated roam start event if roam started already, don't abort
roam.

Change-Id: I0b3ebe861d2cc9e3db4b794df5e9ff7938b797fe
CRs-Fixed: 3351225
2022-12-04 10:08:27 -08:00
Krupali Dhanvijay
3ecc75ecc3 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period_global() and
sme_get_neighbor_scan_refresh_period() apis
and replace it with ucfg api.

Change-Id: Iaa511024467f45dc408da3db202b25f9b5276453
CRs-Fixed: 3335898
2022-12-02 01:25:11 -08:00
Krupali Dhanvijay
091ad81795 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_opportunistic_scan_threshold_diff() and
sme_get_roam_scan_home_away_time() apis and replace it with ucfg api.

Change-Id: I7de3bf3faff990cbf667cb8106044a33f16f3a46
CRs-Fixed: 3335898
2022-12-02 01:25:05 -08:00
Krupali Dhanvijay
7c037e6d50 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_wes_mode(), sme_get_is_lfr_feature_enabled()
and sme_get_is_ft_feature_enabled() apis and
replace it with ucfg api.

Change-Id: I7715ba361264fcb2c0c93d8d073813538347dd31
CRs-Fixed: 3335898
2022-12-02 01:24:59 -08:00
Krupali Dhanvijay
2c38836b37 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_neighbor_scan_max_chan_time() and
sme_get_neighbor_scan_max_chan_time() apis and replace it with ucfg api.

Change-Id: I8a9de18f22e352ed8c64f415fd0455f64227a857
CRs-Fixed: 3335898
2022-12-02 01:24:53 -08:00
Krupali Dhanvijay
45eb0c0f4e qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_rssi_diff() and
sme_get_is_ese_feature_enabled() apis and replace it with ucfg api.

Change-Id: I226efbcf8ecd44b08684a3e17e2db987c169946d
CRs-Fixed: 3335898
2022-12-02 01:24:48 -08:00
Krupali Dhanvijay
5afc9f98c7 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period() and
sme_get_neighbor_scan_min_chan_time() apis and
replace it with ucfg api.

Change-Id: I372fcbcf4f96af2c642a5fe93c0f8e2ce98174ea
CRs-Fixed: 3335898
2022-12-02 01:24:43 -08:00
Krupali Dhanvijay
b3021e935e qcacld-3.0: Clean up code for sme apis
Clean up the code for sme_get_neighbor_lookup_rssi_threshold() and
sme_get_roam_rescan_rssi_diff() apis and
replace it with ucfg api.

Change-Id: Idc7503eaa316d68dc05aba8345970ace7bc8ad45
CRs-Fixed: 3335898
2022-12-02 01:24:37 -08:00
Krupali Dhanvijay
a3a9866f7d qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_valid_channels() and
sme_get_roam_intra_band() apis and
replace it with ucfg api.

Change-Id: Ic2f07e2193186d1e1ac81f6e5909417c10ab9c89
CRs-Fixed: 3335898
2022-12-02 01:24:32 -08:00
Amruta Kulkarni
7566d61fff qcacld-3.0: Assign op mode after null vdev check
To avoid assignment before null check for vdev.
First check null vdev and then assign operational
mode value.

Change-Id: Ifbff1f79f04d51dddf6a6c1aec27793389516045
CRs-Fixed: 3340858
2022-11-30 15:00:21 -08:00
Jianmin Zhu
60c511d230 qcacld-3.0: Enable vdev PCL for SBS mode to avoid roaming to MCC
When dual sta connected as SBS mode instead of dbs mode, driver didn't set
pcl per vdev, so dual sta had same PCL in firmware, MCC may happened after
roaming.

Fix:
1. Host pass roaming MCC disallow flag to F/W by checking primary vdev id.

2. For platform SBS supported, when doing dbs or sbs, send PCL from table
to F/W directly, allow SCC and SBS<->DBS roaming, don't limit to intra
band, only avoid mcc case if no primary vdev.

3. Use policy_mgr_concurrent_sta_on_different_mac to replace
policy_mgr_concurrent_sta_doing_dbs, add logic to consider SBS when set
PCL to F/W.

4. Change dual sta PCL table to remove mcc channels.

5. When STA channel switch, also update PCL to F/W.

6. For roaming case, do vdev level PCL update for all sta after connection
update in policy mgr, or wrong PCL is got.

Change-Id: I631c84c96da2bba4011b69e4c076db174205c874
CRs-Fixed: 3336768
2022-11-27 23:28:03 -08:00
Srikanth Marepalli
8ef0316626 qcacld-3.0: Add vendor command attribute for roam hand-off delay
User can configure roam hand-off delay value using the new vendor
attribute introduced as part roam vendor command.
This change gets the configured value and sends it to firmware.
And firmware delays the roam Hand-off (in msec) by the specified
duration to receive pending RX frames from the current BSS.

Change-Id: Ic328c077cba06532ee8ffed12cde072c816b92e0
CRs-Fixed: 3329964
2022-11-26 10:34:44 -08:00
Srinivas Dasari
7324535b01 qcacld-3.0: Copy link beacon from sync frame event to roam_sync_ind
When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event.
Add support to fetch both link beacons and add them to scan db.
If firmware sends ML probe response, generate link probe response
as well and add it to the scan db.
The link scan result can be used in link connect in case of
hybrid roaming like OWE, 1x,..

Change-Id: Ic8457a5630441d6fd3faeb4791c79422db787f94
CRs-Fixed: 3335225
2022-11-25 10:24:49 -08:00
Vijay Raj
3d128118ef qcacld-3.0: Modify cm_roam_mgmt_frame_event to log correct rssi value
In the api cm_roam_mgmt_frame_event(), the rssi is logged
as a positive value.

Modify cm_roam_mgmt_frame_event() to log rssi value as
a negative value.

Change-Id: I1af7827beda23381e89880cf7ef73c24a7e38a15
CRs-Fixed: 3327027
2022-11-11 19:41:41 -08:00
Amruta Kulkarni
67e405ee90 qcacld-3.0: Add new files for T2LM handling
Add new files for TID to Link mapping handling.

Change-Id: I296a898e09b67490b85f4f7fba29322dbc3a757f
CRs-Fixed: 3322944
2022-11-04 03:18:47 -07:00
Srinivas Dasari
4cfbb4b30c qcacld-3.0: Free the old bcn if new one is rcvd in sync frame ind
Firmware may send two consecutive roam sync frame indications when
it supports MLO roaming. The first event carries link beacon and
second event carries assoc beacon. This is to let host driver have
both the link scan results if host has to take care of link
connect(e.g. OWE MLO roaming, EAP MLO roaming,.. ).
If host driver doesn't have support/doesn't need link beacon,
it would be overwritten by assoc beacon(e.g. wpa2 MLO roaming,
SAE MLO roaming, ..).
This results in a memleak as the previous cached beacon is
not freed(vdev->rso_cfg->roam_sync_frame_ind->bcn_probe_rsp).

Free the existing beacon if new one is received. Also, remove the
current free's from extract_roam_sync_frame_event_tlv() which
doesn't need any such freeing as the copy always happens to a
freshly allocated buffer.

Change-Id: If3b4d6e4b8e1e2af5306171ad7eda28e744da64e
CRs-Fixed: 3322094
2022-10-31 17:13:22 -07:00
sandhu
d8b7b21f76 qcacld-3.0: For MLO link vdev get partner link info from connect req
If link beacon is not scanned, host driver will send ML probe request
and generate link scan entry from ML probe response. The ML probe
response does not include RNR IE. This is causing failure in the link
vdev connect path as the partner information is updated from rnr ie.

To fix this, for link vdev connection get partner link information from
connect request.

Change-Id: Id22f57cefbf28cb20fa7e17b4b71b362b1ba0ae5
CRs-Fixed: 3312421
2022-10-26 13:06:02 -07:00
Amruta Kulkarni
cc38830548 qcacld-3.0: Clear and set connected links bitmap
In case of MLO to SLO roaming, the connected links
bitmap is not reset for link vdev correctly.

To solve this post roaming, clear and then set the connected links bitmap.

Change-Id: I9e63593fe3452d0c2075360432dfaddc81999ae0
CRs-Fixed: 3317229
2022-10-21 23:25:35 -07:00
David Oladunjoye
b31db9db49 qcacld-3.0: Add lock to Set/clear WLAN_VDEV_FEXT2_MLO_STA_LINK flag
Currently, this MLO flag is being set/clear without regard for
concurrency. We need to lock the vdev when updating these values to
prevent race condition.

Change-Id: I7b1e6424d6fcedc6934a9f6aa1d01068a2b43277
CRs-Fixed: 3305564
2022-10-21 21:30:59 -07:00