Commit Graph

303 Commits

Author SHA1 Message Date
Srinivas Dasari
26d8aab401 qcacmn: Make cm_bss_mlo_type a public API
Make cm_bss_mlo_type() public so that other components can use it.

Change-Id: I18f130eb147b859f8827bacbfd3d134121caabf1
CRs-Fixed: 3601362
2023-09-02 05:09:50 -07:00
Vinod Kumar Pirla
9e3a7ecb78 qcacmn: Allow disconnect req in INIT state for link switch
VDEV is moved to INIT state as part of link switch disconnect,
before set MAC address response is received, any disconnect
request on this VDEV will not be handled as VDEV is in INIT
state, if link switch is in progress then it will abort link
switch and starts link switch dequeue process.

If the new disconnect request is from userspace it will
increment the OSIF ops, but if link switch is on assoc VDEV
OSIF is notified to restore the adapter deflink as part of
link switch complete where it wait for all OSIF ops to
complete. This is a deadlock case where driver is waiting
for ops completion on same thread where ops is initiated.

To fix this issue, do not handle link switch dequeue on the
same thread, instead move the link switch state to abort
and when actual link switch thread comes it will flush from
serialization.

If userspace disconnect is not queued as VDEV is in INIT
state due to link switch, kernel won't be notified about
the disconnect as this notification is only done on assoc
VDEV and any further connect requests from supplicant gets
dropped in kernel saying already connected and supplicant
will immediately try disconnect which driver will again
drop as VDEV is in INIT state. To avoid this kernel-driver
out of sync, forcefully move VDEV to disconnecting state
and queue the disconnect request.

Change-Id: I116859601ebba21d44797e74e160b56532ef833c
CRs-Fixed: 3588936
2023-08-21 15:05:50 -07:00
Aravind Kishore Sukla
78d988e666 qcacmn: Reject partner link based on security check
For multi link connection there might be the case where
rsnxe of the AP is not present on the link vdev.
This causes the link vdev alone to downgrade to 11ax
mode and assoc vdev is in 11be dot11 mode.
So for vdev with ML peer, the dot11mode is 11ax,
which causes abnormal firmware behavior.

Reject the partner link that doesn’t pass the security
check and validate the next available partner link.
if none of the partner link passes the security check,
proceed connection with single link.

Change-Id: I080557027180c0566a1c284a93fcc4b69c61a9c8
CRs-Fixed: 3581189
2023-08-21 10:58:15 -07:00
Uraj Sasan
85dafccb66 qcacmn: Handle bridge peer creation in WDS station
Handle case where device topology needs bridge peer.
So if the device have connection on two opposite links
create bridge peer on the central vap.
Sample topology:
AP
2 GHz<-->6 GHz MLO Links
STA topology
       (5 GHz Low VAP)
         chip0
      /         \
 (2 GHz VAP)chip1    chip2 (6 GHz VAP)
      \         /
         chip3
       (5 GHz High VAP)
In the above case we will have Bridge peer on either
5 GHz Low or 5 GHz High VAP

CRs-Fixed: 3575939
Change-Id: I923cc01b3c6e23099436a25565cbabab5a08d93c
2023-08-18 18:10:58 -07:00
Ashish Kumar Dhanotiya
a0bd216fc8 qcacmn: Add support for LL_LT_SAP_MODE in policy mgr
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.

Change-Id: I7b893b04498957eb4a7e9f74c4b4395d4a823bf9
CRs-Fixed: 3536612
2023-08-17 21:01:54 -07:00
Deeksha Gupta
a2ccbeff4e qcacmn: Select best ML partner link info based on DBS or SBS mode
Select the best ML partner link based on DBS or SBS mode.

Change-Id: I5d7d9242b32fa4143e7bec5b9692689ac257ca4d
CRs-Fixed: 3530717
2023-08-10 14:43:18 -07:00
Himanshu Batra
dd3ebd6336 qcacmn: Move HE downgrade logic under MLO_ADV_FEATURE macro
Move HE downgrade logic under MLO_ADV_FEATURE macro

Change-Id: Ib89a974f21332368f7deddf58a180f8d9f1bf118
CRs-Fixed: 3581460
2023-08-08 09:16:42 -07:00
Vinod Kumar Pirla
1ad86188f4 qcacmn: Avoid uninitialized access from all conditional branches
Stack variable 'mlme_info' in cm_connect_complete() can lead to
uninitialized access if BSSID in 'resp' function argument is NULL.

Initialize the variable to avoid unanticipated results.

Change-Id: Id9db244c8168740e4d5c0d71959b578551773bb6
CRs-Fixed: 3576785
2023-08-02 04:55:38 -07:00
Vinod Kumar Pirla
35ea97c560 qcacmn: Enhancements for link switch connect
Introduce following for link switch disconnect:
    1) Connect request source.
    2) Connect request reason.

If the set MAC address response for new link is successful, post
connection on new link and transition the link switch state to
connecting. If the status of connection is successful, update
the state to link switch complete or else directly go for
deserializing link switch command and posting response to FW.

Based on the final state of link switch at the time of sending
FW response, send the appropirate status of link switch and reset
the state of link switch to idle post FW notify.

Don't unlink BSS incase of failure in connection.

Don't indicate connect results to userspace.

As we are already in serialization due to link switch,
don't serialize/deserialize connection command if it
is due to link switch.

Incase of race condition between link switch connect and
userspace connect/disconnect always abort link switch connect.

Change-Id: Ie350b52021c36802b82d6cb5f6f441fe1bd10458
CRs-Fixed: 3556529
2023-08-02 04:55:17 -07:00
Vinod Kumar Pirla
b41d140574 qcacmn: Enhancements for link switch disconnect
Introduce following for link switch disconnect:
   1) Disconnect source.
   2) Disconnect reason.
   3) Link switch BIT in CM_ID to identify link switch request

Don't notify link switch disconnect to initiate disconnect on
other connect VDEV of MLO mgr.

Don't notify userspace if the disconnect request is due to
link switch.

Don't notify netdev to stop queues on link switch disconnect.

Don't flush any pending disconnect/connect request on complete
of link switch disconnect request.

Don't attempt to serialize/deserialize disconnect command
if it is a link switch command ID due to either disconnect request,
disconnect complete or disconnect request flush.

Before start of link switch set the VDEV flag as MLO link VDEV
to leverage the disconnect/connect checks for link VDEV and
restore the flag at the end of link switch. This will impact
when link switch on assoc VDEV is received for which initially
the flag is not set.

Check status of link switch disconnect done API to either
proceed further in link switch or terminate the link switch.
If any userspace disconnect and link switch disconnect race
condition, always abort link switch disconnect and notify
failure to FW.

Change-Id: I6ec2a850d49f5ec6df2ec868c290f19203cd8c88
CRs-Fixed: 3556481
2023-08-02 04:54:41 -07:00
Aravind Kishore Sukla
db33c1e902 qcacmn: Downgrade connection to HE mode
STA is not able to connect to 11be non-WPA3 mode AP.

STA need to decide whether to connect in EHT or not at
the time of connection to AP based on security configuration.

Change-Id: I812f5c322d36ba44f63d4e27b5ec65a2846b3265
CRs-Fixed: 3404747
2023-08-01 20:30:03 -07:00
Prasanna JS
ae88affbf8 qcacmn: Add 6 GHz check in ucfg_cm_get_connected_band
Add 6 GHz check in ucfg_cm_get_connected_band

Change-Id: I323d165c179ee4ce744bb9d06e6af9786f25ea31
CRs-Fixed: 3566304
2023-07-27 18:54:39 -07:00
Arun Kumar Khandavalli
4c2b8d81e4 qcacmn: Reject partner link connection in case of IE parsing failure
Currently while updating the mlo vdev flag host checks whether the
mlie is present, this vdev flag is used to send various ml information
to firmware. In certain cases because of issue due to parsing of
ml probe response or AP issues mlie is not present in the partner link
entry, resulting in host sending ml flags for assoc vdev and not setting
ml flags for partner vdev's resulting in undetermined behaviors in
firmware.

If mlie is not present during the partner link association stay associated
on the available links.

Change-Id: I3134555dc955ffc96a50584c2cfc6713b2673cc4
CRs-Fixed: 3555133
2023-07-25 00:19:26 -07:00
Deeksha Gupta
9b7258ffff qcacmn: update mlme info for standby link
update  AP link information for standby link.

Change-Id: Ie5ff52e2ecea4548f738965efcfee54e08f63eb5
CRs-Fixed: 3530713
2023-07-18 12:50:10 -07:00
Vijay Patil
c1d9d64d61 qcacmn: Add change to replace free connect request API
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
2023-07-12 07:49:19 -07:00
Vijay Patil
01da59899e qcacmn: Add fix to free roaming info from copied reassoc response
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
2023-06-20 06:39:18 -07:00
Jianmin Zhu
da25bf14e9 qcacmn: Select best link as assoc link
For mlo 5+6, 6 GHz band score is higher than 5 GHz, so 6+5 total score is
higher than 5+6, 6+5 is always selected before 5+6 even 6 GHz link score is
much worse than 5 GHz.

To fix it, calculate each link score for each MLO AP, if assoc link is
best link, add a boost score, then it can be selected first.

Update band weight and score for both SLO and MLO, select average of link
band score as MLO band score.

Change-Id: If0714fa94031d5746d89388917540f0e34086d86
CRs-Fixed: 3483850
2023-06-17 17:02:27 -07:00
Abhishek Singh
b22f325247 qcacmn: Fix connection manager logs by adding CM_PREFIX_FMT
Fix connection manager logs by adding missing CM_PREFIX_FMT.

Change-Id: I043bf571006279dfcbec70e1d4fac564d6a20b6b
CRs-Fixed: 3527590
2023-06-13 15:36:46 -07:00
Sheenam Monga
806cbc9936 qcacmn: Handle negative MLO prefer percentage
Currently type of score is unit32_t due to which
negative value calculated is tried to change
to uint32_t and MLO score is getting boost instead
of deteriorate.

Fix is to calculate score in int32_t type and then move
to unsigned value.

Change-Id: Id28f58b44e1a1246f491b28a86de1c78c5e97215
CRs-Fixed: 3525654
2023-06-13 09:42:33 -07:00
Jianmin Zhu
a013c998bd qcacmn: Fix roam abort for 2nd sta connect
During wlan0 vdev0 roaming, before roam sync received,  2nd sta wlan1
vdev2 connect req came, disabled RSO of vdev0, so vdev0 roam aborted, and
disconnected.

To fix it, serialize roaming disable during connect too, don’t disable
roaming of other connected sta until serialization allowed in
wlan_serialization_activate_cmd ->cm_connect_active

Change-Id: Ic2e626154b570a1691b8f3d684d21d8a107d09dc
CRs-Fixed: 3510787
2023-06-08 20:46:59 -07:00
Pragaspathi Thilagaraj
fe4e1c1ae3 qcacmn: Retry MLO connection with SLO on connection failure
Currently if MLO connection fails then connection is tried
with same link until it reaches to maximum no of trials but
connection is not tried with same assoc link by changing partner
link or with SLO.

So, when vendor roam score algorithm is enabled, add logic to try
MLO connection again by reducing number of partner links with
each retry till SLO connection is tried.

Change-Id: Ic0e3acd2198cfa0ed0ff893da6ae32d669d32a41
CRs-Fixed: 3521159
2023-06-08 05:09:28 -07:00
Sheenam Monga
339c48c7d7 qcacmn: Update etp score for MLO connection
Update etp score as per the mlo_tp_preference_percentage ini.
MLO score require to be boost or reduce based on the mlo
prefrence percentage ini, so update score as per the
provided value.

Change-Id: I0263b0f83207c279a2b4e88ac7b08b3b18a49df4
CRs-Fixed: 3456420
2023-06-05 13:53:23 -07:00
Gangadhar Kavalastramath
ad4dd18f1b qcacmn: Remove self_reassoc 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: I02536a0049517ff5e8459834df493dccbf5a7a62
CRs-Fixed: 3433224
2023-05-25 10:10:07 -07:00
Jianmin Zhu
487b3410f1 qcacmn: Fix wrong sta puncture bitmap issue
When wlan_reg_extract_puncture_by_bw return fail, new_punc isn't
filled, it is not initialized too, will be random value, it will
make F/W assert if the wrong puncture passed to F/W.

To fix it, initialize local var new_punc to 0.

Change-Id: I1554e1f55a2f5b319abc94b8409a5c4aed78e223
CRs-Fixed: 3506816
2023-05-24 10:49:52 -07:00
Liangwei Dong
fa5b39c322 qcacmn: Allow roam if prev_bssid is AP mld address
"prev_bssid" can be AP mld address if current connection
is mlo connection. Allow roam if "prev_bssid" is AP mld
address.

Change-Id: Iebc71acae11fcbfb4fc98ec2199d546d71ef057c
CRs-Fixed: 3489879
2023-05-14 22:57:58 -07:00
Vijay Raj
12fbcdf042 qcacmn: Modify CM_NO_CANDIDATE_FOUND value in connect fail reason enum
In the enum wlan_cm_connect_fail_reason, the value of
member CM_NO_CANDIDATE_FOUND is modified to 1 in order
for value of members of the enum will begin from 1.

Change-Id: I3f4686b32cec92b45e03b30b4293b4571a3f01fe
CRs-Fixed: 3486473
2023-05-11 09:01:14 -07:00
Asutosh Mohapatra
d549261151 qcacmn: Add new cfg item to disable SP AP connection to VLP STA
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.

Change-Id: Icbe109abecdd73ceedee8ecec45ae82cd47464e0
CRs-Fixed: 3470599
2023-05-10 09:28:24 -07:00
Asutosh Mohapatra
9387aca043 qcacmn: Remove relaxed_6ghz_conn_policy cfg item
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.

Hence remove this cfg item and the related APIs.

Change-Id: I215939bdce2e08eb9d4c5286487941198ab19232
CRs-Fixed: 3470569
2023-05-10 09:28:13 -07:00
Abhishek Singh
9266c2d271 qcacmn: Fix cm req accessed outside cm req or CM lock
wlan_cm_get_rnr, uses the cm request without lock and pass the
pointer to the caller instead of passing a copy.

Fix it by copying the rnr info while holding the lock. and move the
cm req access logic to core from dispatcher.

Change-Id: I72861021d98b996a379a2917874b5dadbc37c6af
CRs-Fixed: 3483871
2023-05-09 13:33:47 -07:00
Jyoti Kumari
e663fa7cd3 qcacmn: 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 eht cap as well as vdev is mlo supported or
not in cm_create_bss_peer()

Change-Id: I60dbb8ee91025266d0b9b48075dc2db9a407e015
CRs-Fixed: 3454128
2023-05-04 11:35:10 -07:00
Vinod Kumar Pirla
7382a9f799 qcacmn: Use MLD address of BSS peer for PMKSA operations
If PMKID present in AP expires, AP rejects the PMKID based association.
Current design is to clear the cache using BSSID/MAC address of link
in such cases to let a fresh SAE authentication to happen.
But host driver stores PMKSA with MLD address for ML BSS.
Adapt to the same and update PMKSA cache clear APIs to use
MLD address instead of link address.

Introduce new API which return the legacy address for non-ML
association and MLD address for MLO association of the BSS peer.
Use this API to get the correct entry from PMKSA cache to delete.

Introduce new utility API to fetch the MLD address from scan entry.
Use this API to get the MLD address of the ML candidate.

Change-Id: Id35a3937ba6649e8ba7ae8f849ac1ed2a9cc83f8
CRs-Fixed: 3453839
2023-04-26 18:25:02 -07:00
Jianmin Zhu
07390f2011 qcacmn: Don't handle assoc vdev roam if link vdev failed
If link vdev roam sync failed and new dp mlo peer wasn't created,
assoc vdev roam sync was still handled, dp peer update failed
and asserted for mlo peer not found.

To fix it, if link vdev roam sync failed, return to trigger HO_FAIL,
don't handle assoc vdev roam sync.

Change-Id: I47aa70723cd741839cdb8fb21d446730a8ed80e5
CRs-Fixed: 3468553
2023-04-18 14:27:22 -07:00
Pragaspathi Thilagaraj
4c252e1598 qcacmn: Add if_mgr support to handle STA CSA
Add if_mgr support to handle STA CSA complete notification and
SAP CSA Started and complete notification.
Before CSA vdev restart on SAP side, disable TDLS off channel.
After CSA, check if TDLS is allowed for the current concurrency
and take action accordingly.

Change-Id: Icbadb898f5b468717f74f92a0993c05b59719205
CRs-Fixed: 3445113
2023-04-12 12:54:11 -07:00
Liangwei Dong
3a759ca431 qcacmn: Update candidate list before try next
Some IOT APs only allow to connect if last 3 bytes of
BSSID and self MAC is same. They create a new bssid on
receiving unicast probe/auth req from STA and allow STA to
connect to this matching BSSID only. So boost the matching BSSID
to try to connect to this BSSID.
And add logic to refresh the candidate list before next
candidate try when the last candidate connect fail.

Change-Id: I482e122c8c9febbab42f64013fbb78c266f49655
CRs-Fixed: 3432618
2023-04-11 02:28:01 -07:00
Surya Prakash Sivaraj
88804f2cfc qcacmn: Add support for AKM25
Add support for FT-SAE-EXT-KEY AKM.

Change-Id: I832b414b31d42113eec6d099ba4c62e76dfe6cb1
CRs-Fixed: 3406626
2023-03-27 11:21:18 -07:00
Jyoti Kumari
48ed0b7680 qcacmn: Pass vdev_id as an argument in policy_mgr_get_pcl()
Pass vdev_id as an argument in policy_mgr_get_pcl()

Change-Id: I047ec205632798a3e4e0da5ada6677764ae4f203
CRs-Fixed: 3412907
2023-03-22 00:40:43 -07:00
Vinay Adella
c847ddd958 qcacmn: Clear partner link state before starting to connect
This is needed in case the STA is configured with more MLO links
than the AP. It will make sure only links that the AP allows
are in use in the STA MLO as well.
Also check for mlo flag on vdev before sending link connect and
updating partner bitmap.

CRs-Fixed: 3423668
Change-Id: Iceec3cf7e8dc7e5bc0a29c56b990faef4f741158
2023-03-19 22:53:08 -07:00
Jianmin Zhu
b2e038a217 qcacmn: Fix mlo assoc vdev disconnect before link dev issue
Assoc dev disconnect happened before link vdev for following sequence
1) SB disconnect followed by NB disconnect.
2) SB disconnect queue disconnect on both link and assoc same time.
3) NB disconnect queue link disconnect first and wait for it to complete.

Fix in mlo_sync_disconnect by using sync API only for assoc vdev, for link
vdevs, let the non-sync API post the disconnect, thus all disconnect goes
in 1 instance and wait for assoc disconnect (last) to complete, similar to
SB disconnect.
With this both vdev1 and vdev0 disconnect will be queued at same time, thus
maintain the sequence.

Also optimize the wait time of the assoc vdev in
cm_disconnect_start_req_sync, to include all link disconnect time as well
(DISCONNECT_TIMEOUT * 2 + 5000).

Flush old disconnect only for non-MLO and assoc link, do not flush for link
vdev.

Change-Id: Ibaf4051d6e06a8e8354571e87883ac72b6ac07f0
CRs-Fixed: 3420508
2023-03-08 00:45:01 -08:00
Liangwei Dong
1ac458ec54 qcacmn: Abort STA connecting if NDI stop bss pending
When NDI stop bss is pending in serialization queue and
STA connect is in progress with multiple candidate trying,
NDI stop bss will be timeout and vdev clean up will not happen
if STA connect takes too much time.

Fix by stop next candidate trying if NDI stop bss in
queue.

Change-Id: I29ca38f420586862f294d10041fc1754f8b485ce
CRs-Fixed: 3402121
2023-02-20 15:02:45 -08:00
Paul Zhang
79720d811d qcacmn: Add support for 2+ mlo links
Add support for generating link specific assoc request/response
and probe response for 2+ mlo links.

Change-Id: Iadd09efeb0b0098baeae25f3b1968826e75dedc4
CRs-Fixed: 3049640
2023-02-17 09:32:31 -08:00
Liangwei Dong
33d575de95 qcacmn: Add new roaming invoke source enum
Add new roaming invoke source enum CM_ROAMING_LINK_REMOVAL.
That will be used in link removal process to trigger STA
roaming to new AP.

Change-Id: I78cb1fcfce8e11fcca33ce99c80a4d6444ac3fea
CRs-Fixed: 3353004
2023-02-14 19:49:41 -08:00
Pragaspathi Thilagaraj
52c0ba9a7a qcacmn: Choose the most secure AKM for association
Driver doesn't sort the AKM properly based on security
to use for the association. This causes lower secure AKM to be
used when AP advertises multiple AKMs.

Choose more secure AKM for association. Below is the new
changed order of Secure AKMs:
1. FT-FILS SHA384
2. FT-FILS SHA256
3. FILS SHA384
3. FILS SHA256
4. WPA3 FT-SUITE B Sha 384
5. WPA3 802.1x Suite B - 192
6. WPA3 802.1x Suite B
5. WPA3 FT-SAE
6. WPA3 SAE EXT Key
7. WPA3 SAE
8. WPA3 OWE
9. WPA3 DPP
10. WPA2 FT-802.1x
11. WPA2 802.1x SHA256
12. WPA2 802.1x
13. WPA2 FT-PSK SHA384
14. WPA2 PSK SHA384
15. WPA2 PSK SHA256
16. WPA2 FT-PSK
17. WPA2 PSK

Change-Id: I18910b56b15624725ad4fc0cdb0b37ff241e82ff
CRs-Fixed: 3400535
2023-02-14 04:44:42 -08:00
Jianmin Zhu
fad8228802 qcacmn: Fix wrong congestion score issue
When calculate mlo score, partner link congestion score is used wrongly.
Total congestion score after considering both assoc and partner link should
be used.

Change-Id: I6f94fc1bcbfd1adf547dbf519e03524409509260
CRs-Fixed: 3399624
2023-02-11 01:12:07 -08:00
Surya Prakash Sivaraj
c595a4abdf qcacmn: Cleanup link vdev SM on roam HO failure
In legacy to MLO roaming case, the link vdev will be
moved from INIT->UP via EV_ROAM event. Similarly, if
the Hand-off fails in host due to host-related handling,
treat the failure as HO-FAILURE and move the link VDEV
SM from UP->INIT directly.

Change-Id: Ia6bfeb958f0302a934d24c9b40fadd4a8f557236
CRs-Fixed: 3389148
2023-02-07 20:02:03 -08:00
Abhishek Singh
7ce0c12e54 qcacmn: Use freq hint in scan for ssid
When Scan db reaches max size, driver deletes the oldest node,
so chances are that BSS on 1st freq scanned is removed.

This lead to scan for SSID, which will do a scan again on
all freqs, and thus we end up in flushing the entry again.

TO fix this use freq hint to scan for ssid to quickly find the
AP so that required AP remains in scan database as it will
be the latest entry.

Change-Id: I28849ee97ff1f492d372870c362288206c4ec9a5
CRs-Fixed: 3392831
2023-02-03 03:36:44 -08:00
Divyajyothi Goparaju
61d3b23a1c qcacmn: Give valid range of value for aliasing INI
There are two different name with different range of value for
aliasing INI's.
So, it should pick the valid range of value wrt INI name.

Change-Id: I81ece854a2d8b34f232e03c8ab835161d58c56b1
CRs-Fixed: 3355346
2023-01-30 10:36:50 -08:00
abhinav kumar
3bf50ce182 qcacmn: 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, Add
host-defined enum vendor_control_roam_param which defines the param
IDs that the host supports.

Change-Id: I0aaba99c1af7c7c50a62f9bc763d0968c3a3a99c
CRs-Fixed: 3366594
2023-01-27 10:39:38 -08:00
Jeff Johnson
b4b8c2933f qcacmn: Fix umac/mlme documentation
The kernel-doc script identified some documentation errors in the
umac/mlme folder, so fix them.

Change-Id: I84617fe2007e51dcb009801ebc6cdf87c0d0a686
CRs-Fixed: 3381478
2023-01-26 12:25:15 -08:00
Paul Zhang
37b58d0525 qcacmn: add critical update feature
Add the code logic to save the BSS parameters change count (BPCC)
for critical update feature.

Change-Id: I3fafd44af8661d1dcf5d7bbde84d2729d390a44c
CRs-Fixed: 3324174
2023-01-26 01:25:10 -08:00
Krunalsinh Padhar
ce5f301bce qcacmn: initialize spinlock after memset function
In some scenarios, memset function is called after spinlock initialization,
which clears the container holding the spin lock causing the spinlock to
be uninitialized. Fix this by initializing the spinlock after the container
has been cleared with memset().
Change-Id: I87e9844e95e814d8dca25e591a6494516d929c70
CRs-Fixed: 3377971
2023-01-24 19:13:23 -08:00