Graphe des révisions

85 Révisions

Auteur SHA1 Message Date
Ashish Kumar Dhanotiya
35998406e0 qcacmn: Allow 6GHz AP for WPS
With current implementation host does not allow
6GHz AP for WPS security, add a change to allow 6GHz AP for WPS.

Change-Id: I9e330f2984a716bb56e47313b65eedb4a1a0e216
CRs-Fixed: 2814259
2020-12-21 20:55:23 -08:00
Santosh Anbu
1e98fba13b qcacmn: Check return value of connect active indication
Add change to check the status of connect active indication.

Change-Id: I69afbfba0b8d35c5fafa2d9f7353ade39e41bf92
CRs-Fixed: 2840344
2020-12-18 01:50:13 -08:00
Himanshu Batra
70fc6c603c qcacmn: Support connect/disconnect request due to cfg change
Add enum to indicate the connect or disconnect request initiated
due to a config change.

Change-Id: I68e058f37f00b548076874c97903dc78d4f4cb25
CRs-Fixed: 2826533
2020-12-11 03:35:43 -08:00
Vivek
c528ee61e6 qcacmn: Add API for max connect timeout
Add API for max connect timeout

CRs-Fixed: 2835411
Change-Id: I08e488963df9fae591ab0d8f36283b05cb2d5e08
2020-12-10 23:34:58 -08:00
Vivek
711c3d47cc qcacmn: Add new CM APIs
Add the following new API for the connection manager
to get the active request type, active connect request,
active disconnect request

wlan_cm_get_active_req_type
wlan_cm_get_active_connect_req
wlan_cm_get_active_disconnect_req

CRs-Fixed: 2821225
Change-Id: I8b2a2edfafe09c5642c376f45d4b2ae349145dbf
2020-12-10 03:45:03 -08:00
gaurank kathpalia
80cf078dab qcacmn: Overide blacklist and connect to AP
Currently the connection manager queries the
blacklist manager about the action to be taken
and if all the candidates of a certain SSID are
blacklisted then the connection would be rejected.
There are various types of blacklisting, some
can be overridden and some have to be strictly
followed.

Fix is to overide the blacklist candidate and
connect to it if no other candidates are suitable
for connection.

Change-Id: I84358df5f94d4c82989bf81412355f312320dc0b
Crs-Fixed: 2825519
2020-12-09 21:56:13 -08:00
Himanshu Batra
27378433c5 qcacmn: Add public API to print CM state history
Add public API to print CM state history

Change-Id: Iab079eeb1e4f4a2a256e8e0721db415e539523eb
2020-12-07 09:05:36 -08:00
Himanshu Batra
f994a48ab9 qcacmn: Use bh spinlock for CM
Use bh spinlock for CM

Change-Id: I28a0de73f98e386d9db9e5d63a51e5aee2c12b0e
2020-12-01 04:44:27 -08:00
Himanshu Batra
71fd0da4d7 qcacmn: Resolve compilation issue for CM
Resolve compilation issue for CM

Change-Id: Id9ab5cf96d3865b13d5ea020e6e92016c3493f22
2020-11-26 00:16:50 -08:00
Himanshu Batra
1557043c49 qcacmn: Make connect/disconnect ser cmd as blocking
Make connect/disconnect ser cmd as blocking across all platforms

Change-Id: I8cc6988fcb53f257fc4aab00c1b3abaca07174bf
2020-11-26 00:16:46 -08:00
gaolez
1d0d4cbe6b qcacmn: Optimize congestion score calculation
In current code logic, in case of channel utilization value less
than 3, the congestion value treated as “not present” and give
it a medium score. This will cause a very clean channel get a medium
score.

To fix the issue, need calculated congestion score from 1-100 and
not 0-100.

Change-Id: I6abb257e8298e4db3104fdc20351bbadaa7c2ec5
CRs-Fixed: 2812978
2020-11-25 04:51:35 -08:00
Himanshu Batra
569cc296ed qcacmn: Add basic infra for connection manager UTF
Add basic infra for connection manager UTF

Change-Id: Id111a4bcda970e927b73441be55de4d33a694796
2020-11-25 00:52:13 -08:00
Himanshu Batra
c8fc486dd6 qcacmn: Activate connect/disconnect from serialization via schedular
On completion of connect/disconnect request, the command is removed from
serialization queue. If there if any connect or disconnect request in
serialization pending queue for the same vdev, the command is moved from
pending to active queue in the same context.
All this operation happens under CM SM lock. As part of activation of
next command, the CM tries to acquire same lock to dispatch even to
connection SM. As a result, deadlock is observed.
Add fix to Activate connect/disconnect from serialization pending queue
via deferred context using scheduler

Change-Id: I7f2873ab6d2a639b55ccc54e37463a892d9aae94
CRs-fixed: 2820539
2020-11-20 10:43:47 -08:00
gaurank kathpalia
7a2fd984a7 qcacmn: Fix unused params in 6Ghz security check APIs
Remove few unused params in 6Ghz security check APIs.

Change-Id: I2b88b72d18145d7b537520c30e499ba40c86f5f3
CRs-Fixed: 2820363
2020-11-18 03:38:13 -08:00
Himanshu Batra
5d68a204f0 qcacmn: Resolve compilation issues for CM
Resolve compilation issues for CM

Change-Id: I5f652c568479aef94e6e22ecada496471c3cdb75
CRs-Fixed: 2820487
2020-11-17 14:06:37 +05:30
Abhishek Singh
1853c161d2 qcacmn: Add logic to ignore 6Ghz AP if security is not valid
Add logic to
- Check if connect req freq is 6Ghz and security
  is not allowed for 6Ghz, reject connect.
- Ignore 6Ghz APs if connect req security is invalid
  for 6Ghz

Also added user config key_mgmt_mask_6ghz mask
to allow specific AKMs, by default all are allowed.

Add added user config check_6Ghz_security to enable
security checks as per spec.

Change-Id: I37518731faa4de67a49853e5ac544efa3b3ce1d6
CRs-Fixed: 2813013
2020-11-12 03:28:37 -08:00
Santosh Anbu
a958936486 qcacmn: Set bssid hint config in INI/CFG
Add change to enable bssid hint scoring for candidate selection in
connection manager.

Change-Id: I40a120781c93bf8fb09ec9591a94ee1484bb1a0c
CRs-Fixed: 2801397
2020-11-08 22:53:17 -08:00
Ashish Kumar Dhanotiya
f7f344ef2c qcacmn: Resolve compilation issues for connection manager
There are some fils related compilation issues, add a fix
to resolve these compilation issues.

Change-Id: Ia8fc03885a42447a2f13a58840f3c5174c485bcc
CRs-Fixed: 2811623
2020-11-05 14:03:09 -08:00
Ashish Kumar Dhanotiya
3faf318e8c qcacmn: Add a check for vdev with bssid mac
There is a possibility that driver already has a vdev
with the mac address same as bssid, in this case sta
should not connect to this AP as it may lead to undefined
behavior.

To address above issue add a check to compare bssid with
already existing vdevs before connect start.

Along with above changes add few renaming changes also.

Change-Id: Ia12be0b392a01bf935b5261e505290064de68805
CRs-Fixed: 2809147
2020-11-04 17:02:00 -08:00
Amruta Kulkarni
93a4498eba qcacmn: Add missing parameters in connect scan req
Populate scan IE and scan type in connect scan req
for connection manager.

Change-Id: I6199312541339ffdf391dd4e3d8645abf6da456a
CRs-Fixed: 2809491
2020-11-03 11:16:19 -08:00
Jianmin Zhu
66fcfe0178 qcacmn: Select candidate by ETP when connect
If ini vendor_roam_score_algorithm=1, for initial connect, select
candidate by estimated throughput(ETP). Calculate ETP of all
bssid of ssid selected by high layer, and try to connect AP by
order of ETP, legacy algorithm with following Parameters/Weightage
becomes useless. ETP should be [1Mbps, 20000Mbps],matches score
range: [1, 20000].
Add 11ax support besides 11ac/11abgn.

Change-Id: I3f55d2ae37801128b8a66f6d5c2ac55cb11a56d0
CRs-Fixed: 2704154
2020-11-03 08:35:29 -08:00
gaurank kathpalia
b8b58d8d12 qcacmn: Move disconnect wait logic from osif to connection mgr
Move disconnect wait logic from osif to connection mgr, so that
MLO/IF manager can use the wait logic for disconnect
during vdev delete.

Change-Id: Ied2bbcfd6a532209f8008499424f94acc41efc0e
CRs-Fixed: 2800990
2020-10-29 17:51:00 -07:00
gaurank kathpalia
abb7d72f97 qcacmn: Fix params passed in vdev connect req
Fix params passed in vdev connect req and fix compilation issues.

Change-Id: I8d19c92f6768d1b2c0cdfd7997ba509a8ab87794
CRs-Fixed: 2806867
2020-10-29 15:41:51 -07:00
gaurank kathpalia
55929f5239 qcacmn: Avoid moving the SM to INIT state if disconnect is pending
If a connect req fails before serialization, with a disconnect req
Already queued. Indicating the failed connect req and moving
the SM to INIT state will lead to a invalid disconnected state
Even when, disconnect is in progress.

Thus in this case wait for disconnect to complete before indicating
connect failure and moving SM to INIT state.

Change-Id: Ib25ed43276410cd3e1bb717f64742d691bb17568
CRs-Fixed: 2802137
2020-10-29 15:41:47 -07:00
gaurank kathpalia
c5798d9910 qcacmn: Save and set the WEP key on connection completion
Save and set the WEP key on connection completion in connection
manager.

Change-Id: I78cd778d371accdf7888e418bcad9a4f8ce9f71a
CRs-Fixed: 2805751
2020-10-28 13:27:16 -07:00
gaurank kathpalia
ae7ee6c65e qcacmn: Save and set the FILS key on connection completion
Save and set the FILS key on connection completion in connection
manager.

Change-Id: I7c092ae3d4e866766cdee7e56641b488627199de
CRs-Fixed: 2805749
2020-10-28 13:27:13 -07:00
Ashish Kumar Dhanotiya
047a93da86 qcacmn: Use correct api to get the country info
currently connection manager is using incorrect api to
get the country info which gives compilation error for WIN.

Use correct api to get the country to avoid any compilation
issue.

Change-Id: I647b171ad2ee4a2b70f6803869435074643aa677
CRs-Fixed: 2801991
2020-10-27 13:02:33 -07:00
Abhishek Singh
7fd4d073bc qcacmn: Unlink BSS on connect timeout and peer/southbound disconnect
Unlink BSS on connect timeouts like AUTH/JOIN/ASSOC timeout and
in case of no candidate found. This is to avoid reconnect without
a scan.

Also remove entry if diconnect from peer or south bound disconnect
due to heartbeat failure, sta kickout etc.

Change-Id: Ie78c7e764e8c009a5d19ed5dda9c6b9bbf75196f
CRs-Fixed: 2798188
2020-10-23 10:03:21 -07:00
Himanshu Batra
3ec71fc882 qcacmn: Initialize locally generated disconnect resp
Initialize locally generated disconnect resp with zero to avoid random
values

Change-Id: I88e2a1d85c92b54352c30a8f82940971f721a4a4
CRs-Fixed: 2802683
2020-10-22 04:03:23 -07:00
Ashish Kumar Dhanotiya
88efb959a6 qcacmn: Initialize osif and legacy callbacks for connection manager
Initialize osif callbacks to connection manager and add
legacy callbacks to osif and initialize these legacy callbacks
for connection manager.

Change-Id: Ic3e8bd6f55b6cdbbc8cdd5c9c3a6631e8d3bd83e
CRs-Fixed: 2797472
2020-10-21 07:20:51 -07:00
gaurank kathpalia
43757caf1b qcacmn: Add pending scan filters in connection manager
Add pending scan filters for fils, rsn override, OSEN/WPS etc
in connection manager.

Change-Id: I9906817f2c6693bf37f56b963869768a8321656c
CRs-Fixed: 2795833
2020-10-20 10:56:45 -07:00
gaurank kathpalia
341f2d3643 qcacmn: Fix compilation issues in connection manager
Fix compilation issues in connection manager.

Change-Id: I5cde57a97fedca06c5f953e550ccbce7890d61f1
CRs-Fixed: 2801018
2020-10-20 08:55:57 -07:00
Abhishek Singh
2f54168c0f qcacmn: On connect success update scan db to avoid ageout issues
On connect success update the scan entry with the beacon/probe rsp
received during connect. With this the scan db in driver and kernel
will remain in sync and avoid ageout. As after connect complete
driver update the scan entry in scan db with mlme info.

Change-Id: Ia9d394035eb295f66fbb2a7dd5966a914fe52e00
CRs-Fixed: 2798279
2020-10-20 00:53:08 -07:00
Amruta Kulkarni
5669d3ffa1 qcacmn: Add support for scan for ssid to connection manager
Currently scan for ssid is not handled in connection manager.
Add support for handling scan for ssid event, sending scan request
and handle scan success and failure cases.

Change-Id: Ie60f2c0da36abfc95531e437d3636299972c588a
CRs-Fixed: 2788058
2020-10-19 19:46:20 -07:00
Abhishek Singh
2e046c6e96 qcacmn: Add params in connect req to pass non converged params
Add connect params in osif connect request to pass scan IE and other
params from legacy to be used in connect request.

Change-Id: I83721023362ff2405727316f090671468200b362
CRs-Fixed: 2793280
2020-10-14 01:17:12 -07:00
gaurank kathpalia
c6be8b90df qcacmn: Add logic to try same candidate based on scenarios
Add logic to try with the same candidate again based on
below scenarios:

 - If status code is STATUS_INVALID_PMKID
 - Join timeout and only one candidate
 - Assoc timeout and SAE connection
 - Assoc timeout and reconnect vendor IE set

Change-Id: I7ce803549f4627bc13d03b99999767002fd84be4
CRs-Fixed: 2792775
2020-10-13 04:13:32 -07:00
gaurank kathpalia
77f0dd0632 qcacmn: Delete pmkid and single pmkid on connect failure
Add logic to delete the pmkid and single pmkid depending on
connect response status code and failure.

Change-Id: I7a27f887173ba7cdc13c3ce49ded5d2fcc8198fa
CRs-Fixed: 2792774
2020-10-13 04:13:27 -07:00
Ashish Kumar Dhanotiya
5da344f9b7 qcacmn: Resolve compilation issues in connection manager
Address compilation errors in connection manager.

Change-Id: I0ba9d93b64bbfe2ca4fd29e3726e1f22d70f8b54
CRs-Fixed: 2793583
2020-10-12 12:46:45 -07:00
gaurank kathpalia
7d55cb743a qcacmn: Handle disconnect requests in different states
Handle disconnect requests in different states.
Take care of flushing scan and older connect and queueing
internal disconnect depending on the current state.

Change-Id: I08015d866fb629951b85f95fcd3cf0155e902082
CRs-Fixed: 2793228
2020-10-12 04:26:59 -07:00
gaurank kathpalia
5f77fb500d qcacmn: Add logs while adding and deleting the cm requests
Add logs while adding and deleting the cm requests for debug.

Change-Id: Ibdc7f889a30425be434b7b58b67d0a5209b4b9f4
CRs-Fixed: 2793533
2020-10-10 04:26:56 -07:00
gaurank kathpalia
e2ec5b2d46 qcacmn: Update vdev crypto params from connect request
Update vdev crypto params from the connect request.

Change-Id: I007547196ecf24992bc4cca51fce9f3e85f8099c
CRs-Fixed: 2787324
2020-10-07 12:49:03 -07:00
Abhishek Singh
9d01a66a5e qcacmn: Add disconnect sync API to wait for disconnect to complete
Add sync API for disconnect to wait for disconnect to complete.
This can be used during vdev delete sequence to move the vdev and
connection manager SM to init state before VDEV is marked logically
deleted.

Change-Id: Id562e444cf1995d800b8268f906f811f143d0fc9
CRs-Fixed: 2790885
2020-10-07 12:48:56 -07:00
gaurank kathpalia
a33d1a2537 qcacmn: Handle connect requests in different states
Handle connect requests in different states.
Take care of flushing scan and older connect and queueing
internal disconnect depending on the current state.

Change-Id: I5be3fcd75a1b27e9a9f4d7da3008b3b5b2224f7b
CRs-Fixed: 2790028
2020-10-07 09:26:51 -07:00
gaurank kathpalia
6fdbfee38a qcacmn: Fix connection manager compilation issues
Fix connection manager compilation issues.

Change-Id: I0fbb1d630157b96fb15ee2b7f4789a4b9e9ae63d
CRs-Fixed: 2792059
2020-10-07 09:26:48 -07:00
Abhishek Singh
7fcea50eab qcacmn: Replace CM_PREFIX_LOG with CM_PREFIX_FMT and CM_PREFIX_REF
Use CM_PREFIX_FMT and CM_PREFIX_REF to print connection mgr logs
instead of CM_PREFIX_LOG to avoid confusion.

Change-Id: I06c0009804d9c49da4916a120b6dc448ea28fdb6
CRs-Fixed: 2791198
2020-10-06 12:03:22 -07:00
gaurank kathpalia
fb17117bd9 qcacmn: Use proper API to get the connection manager states
Fix the API used to get the connection manager states.

Change-Id: Id657a3901604af637680a536e6a7231b008b08ae
CRs-Fixed: 2790890
2020-10-06 06:50:44 -07:00
Ashish Kumar Dhanotiya
0ac0e6b10e qcacmn: Add support for disconnect path for connection manager
Currently disconnect is not handled in connection manager,
add support to handle disconnect in connection manager.

Change-Id: If3d5ac12300527ea0162efd955521711ed52c494
CRs-Fixed: 2785950
2020-10-06 01:28:16 -07:00
Abhishek Singh
8a5194d9cc qcacmn: use qdf_scnprintf to print state machine name
Use secure qdf_scnprintf instead of qdf_snprintf to print
state machine name.

Change-Id: I561130b5b7d728d28f883380843f957a4af34e78
CRs-Fixed: 2788893
2020-10-01 23:58:37 -07:00
gaurank kathpalia
14be947c4e qcacmn: Fix logging in connection manager
Add vdev id and cm id in connection manager logs.

Change-Id: I1061f6daeb940167508e18ece006f425fc6bc775
CRs-Fixed: 2787825
2020-10-01 16:58:08 -07:00
gaurank kathpalia
619e46370d qcacmn: Add public API for connection manager
Add public util API for connection manager to get connection
states and set max connection attempts.

Change-Id: I66d4318c7465e3926d6bacdc70dbb849827bf2c4
CRs-Fixed: 2787323
2020-09-30 08:38:45 -07:00