Commit Graph

304 Commits

Author SHA1 Message Date
Amruta Kulkarni
999081053f qcacld-3.0: Add new files for CM roaming
New files added for handling FW based roaming
in connection manager.

Change-Id: Ibb5b74475699719cb901bf067f5d498ad16e0a60
CRs-Fixed: 2864490
2021-03-02 14:22:26 -08:00
gaurank kathpalia
88fddb8238 qcacld-3.0: Handle host roam start req
Handle host roam start req from firmware.

Change-Id: I53455c011e3737c9b4a52d54797e3224b98a628e
CRs-Fixed: 2888383
2021-03-01 09:09:20 -08:00
gaurank kathpalia
758f6c8bc3 qcacld-3.0: Refactor the roaming code
Refactor the roaming code by moving to component.

Change-Id: I566967482ec3eb0d15d3ff357855b58b9579d3cf
CRs-Fixed: 2887126
2021-02-26 11:50:20 -08:00
gaurank kathpalia
006888171e qcacld-3.0: Move ESE channel list code to connection manager
Move ESE channel list code to connection manager.

Change-Id: I885ba96eaff435a8f3f4366d6d201e6f2d648e6e
CRs-fixed: 2885327
2021-02-25 01:48:47 -08:00
CNSS_WLAN Service
fe9ccbca6d Merge "qcacld-3.0: Move LFR2 code under connection manager flag" into wlan-cld3.driver.lnx.2.0 2021-02-22 22:28:35 -08:00
gaurank kathpalia
dd6f134f2d qcacld-3.0: Move LFR2 code under connection manager flag
Move LFR2 code under connection manager flag.

Change-Id: Ic82817a3265af0342cf317ec4f9f086f1a70bef0
CRs-fixed: 2883189
2021-02-22 19:55:21 +05:30
gaurank kathpalia
a06175edf3 qcacld-3.0: Add roaming support in hdd for conenction manager
Add roaming support in hdd for conenction manager.

Change-Id: Id93e3411ab8dedca89768042b5fc96b318447846
CRs-fixed: 2881820
2021-02-19 13:44:53 -08:00
gaurank kathpalia
0e06319d7e qcacld-3.0: Refactor connection manager connect code
Refactor connection manager connect code.

Change-Id: I34379170595637159ba13970fec8b9bff3620cc3
CRs-Fixed: 2880933
2021-02-18 23:58:14 -08:00
Pragaspathi Thilagaraj
1cbfd5f909 qcacld-3.0: Update ciphers in RSO command from crypto component
Currently driver fills unicast, multicast & auth mode values from
csr session which is not updated after roaming to AP with different
security profile. This causes incorrect values in AP profile command.
Send correct authmode/unicast and multicast ciphers in AP profile
command to firmware.

Also modify the below 2 ini default values as:
candidate_min_rssi_for_beacon_miss=-75
candidate_min_rssi_for_disconnect=-75

Change-Id: I33cc9f516447071e977768f01738eea7a2ecd99c
CRs-Fixed: 2879943
2021-02-18 12:06:47 -08:00
gaurank kathpalia
404eabd9ab qcacld-3.0: Move Sta specific code under connection manager macro
Move Sta specific code under connection manager macro.

Change-Id: I37e0c382aa9b8403647f12feb39bbfc1201515c6
CRs-Fixed: 2880716
2021-02-18 10:01:28 -08:00
Amruta Kulkarni
e4df806aa6 qcacld-3.0: Support roam invoke request in connection manager
Add change to support roam invoke request in connection manager

Change-Id: I87bd39263c7c210fa87250aca59ef5f2f89d4c67
CRs-Fixed: 2869211
2021-02-18 03:12:04 -08:00
abhinav kumar
76bae47f3e qcacld-3.0: Cache roam related states for the vdev
Cache roam_fail_reason, roam_invoke_fail_reason and
roam_trigger_reason in mlme value for the vdev.
Host sends these values to userspace via a vendor
command after disconnection.

Change-Id: Ief7d027f69b0449254de3615b39829f346589095
CRs-Fixed: 2877230
2021-02-16 19:15:51 -08:00
Pragaspathi Thilagaraj
9d61fc3d0e qcacld-3.0: Add support for SAE single pmk validity
Currently when SAE single pmk lifetime expires, the userspace
issues disconnect. To avoid this, on reaching a threshold value
of the total pmk lifetime, the firmware will clear the single
PMK and initiate a roam scan to perform full SAE and derive
new pmk.

Add changes to:
1. Send the remaining single pmk timeout value in seconds to
firmware.
this is calculated as the diffence in pmk timeout configured by
userspace and the time passed after set_pmksa was done (which is
system timestamp between the set_pmksa timestamp and timestamp at
which RSO command is filled).
2. Add internal roam trigger for SPMK timeout trigger.
3. Set the roam score delta value as 0 for SPMK timeout roam
trigger.

Change-Id: I62c2ddbbfeb2811a4342d41f2bdaa8d988568bcc
CRs-Fixed: 2869665
2021-02-15 06:21:11 -08:00
gaurank kathpalia
5c1b42944d qcacld-3.0: Fix compilation issue in connection manager
Fix compilation issue in connection manager.

Change-Id: Ib46a0b45facf0552723d1ab9400444b7fdb7a08e
CRs-fixed: 2876303
2021-02-12 14:40:00 -08:00
Abhishek Ambure
780908d5be qcacld-3.0: Move wait for key timer to mlme priv vdev
Move wait for key timer logic to mlme priv vdev. Thus host handles
wait for key per vdev.

Change-Id: Idfc7e7e17ec631a0a364c75b1bac992f1a4d1872
CRs-Fixed: 2870707
2021-02-10 10:11:25 -08:00
gaurank kathpalia
54195d40bd qcacld-3.0: Avoid calling disconnect API while holding sme lock
Add RSO lock and use it to send RSO commands. Also
avoid calling the cm_disconnect API while holding
SME global lock to avoid race.

Change-Id: I588a56f4c96d137d3283b2dc57274de069ecb4ab
CRs-Fixed: 2870603
2021-02-04 20:07:33 -08:00
gaurank kathpalia
2fb03473aa qcacld-3.0: Use is wps/osen from the connect req/rsp
Use is wps/osen from the connect req/rsp, instead of parsing
the assoc ie and deciding the value.

Change-Id: I628c8aab22d1e842219b8d38fd025299d91cc68f
CRs-Fixed: 2868657
2021-02-02 15:17:37 -08:00
gaurank kathpalia
c29ed658d3 qcacld-3.0: Add supported channels, 11r, ESE etc. to LIM
Add csr join req params in LIM and fill them
accordingly.

Change-Id: Iea26867168b4e211a42e501c2aa36bebec1808e6
CRs-Fixed: 2867376
2021-02-01 15:29:58 -08:00
gaurank kathpalia
c13a047628 qcacld-3.0: Fix FILS auth failure in connection manager
Fix FILS auth failure in connection manager.

Change-Id: I727d374a820375110723a081cd3a27828e92ba66
CRs-Fixed: 2865370
2021-01-28 13:47:42 -08:00
gaurank kathpalia
ca5b8c897c qcacld-3.0: Add diag events for disconnect and connect complete
Add diag events for disconnect and connect complete for connection
manager.

Change-Id: I71cd968dd14e26cab9178c5bab892520b8d8af8c
CRs-Fixed: 2864507
2021-01-28 13:47:37 -08:00
Abhishek Ambure
467050ebbd qcacld-3.0: Save hlp info in mlme priv
Host moves hlp info from csr session to mlme priv object. Modules need
hlp info now use hlp info from mlme priv object

Change-Id: Ieffa749635239f72337af685707acccfd666a58a
CRs-Fixed: 2862315
2021-01-27 17:11:25 -08:00
hqu
46d7e82b98 qcacld-3.0: Move code from csr to rso for 11k offload
Move code from csr to rso for 11k offload.

Change-Id: I8930ca381a8af45e39d3ed69cb1614ccc363f766
CRs-Fixed: 2861183
2021-01-24 02:52:02 -08:00
gaurank kathpalia
bb393cba13 qcacld-3.0: Add logic to send RSO start/stop from conenction manager
Add logic to send RSO start and stop from conenction manager.

Change-Id: I6a592e977641d47345233732ed54d356e0ea6a28
CRs-Fixed: 2860870
2021-01-22 14:10:47 -08:00
sheenam monga
07ecaebeb7 qcacld-3.0: Use wlan_reg_legacy_chan_to_freq for conversion
Use wlan_reg_legacy_chan_to_freq api for channel to
frequency conversion instead of wlan_reg_chan_to_freq.

Change-Id: I06a2638a1e402dc6a750c672ed803e8dbfa254fc
CRs-Fixed: 2853575
2021-01-21 17:04:23 -08:00
gaurank kathpalia
d077fd57db qcacld-3.0: Fill RSN IE in LIM for connection manager
Fill RSN IE in LIM if profile is RSN.

Change-Id: I86b2bfcf554bea8c0ac860be2eb49c613c5ee041
CRs-Fixed: 2858412
2021-01-20 05:57:01 -08:00
hqu
7e457bd884 qcacld-3.0: Move code from csr to rso for btm offload
Move code from csr to rso for btm offload.

Change-Id: I0de4e1efe7b4996ae3ca58d124aff0aadfca72a5
CRs-Fixed: 2857739
2021-01-20 05:56:57 -08:00
gaurank kathpalia
0030dee8db qcacld-3.0: Add fils code for connection manager
Add fils code for connection manager.

Change-Id: Icabc91605077c483487d6070ccc3fc714ba2d315
CRs-Fixed: 2857915
2021-01-19 17:05:10 -08:00
gaurank kathpalia
64449a8609 qcacld-3.0: Move code from CSR to new RSO structs part 3
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: I418be56d452389a9f7b8d48e28f793567e81767a
CRs-Fixed: 2857606
2021-01-19 12:57:33 -08:00
gaurank kathpalia
85f376f0a9 qcacld-3.0: Move code from CSR to new RSO structs part 2
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: Ic67be46bd33930cdacc49e2e410a5e1ae7b303ee
CRs-Fixed: 2857319
2021-01-18 21:45:21 -08:00
gaurank kathpalia
4abae1f448 qcacld-3.0: Move code from CSR to new RSO structs
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: Iaef2e4b08853f559a2da2c26b774ea29ecde04aa
CRs-Fixed: 2857072
2021-01-18 21:45:16 -08:00
gaurank kathpalia
157bb417c2 qcacld-3.0: Remove unused params and functions
Remove unused params and functions due to connection manager.

Change-Id: Ie1fd0031abce0c97f82b221ed43f10609f6dac7a
CRs-Fixed: 2856577
2021-01-17 14:56:27 +05:30
gaurank kathpalia
c4378606c7 qcacld-3.0: Fix compilation error in connection manager
Fix compilation error in connection manager.

Change-Id: I4350c594507c25d9652e39ae3ada1f4bdc4d89fc
CRs-Fixed: 2856511
2021-01-16 15:04:23 -08:00
gaurank kathpalia
5b8392f96c qcacld-3.0: Process connect request for connection manager
Process connect request in LIM for connection manager.

Change-Id: I12b2f174751b17271667cba1347a44dd52782420
CRs-Fixed: 2856458
2021-01-16 10:50:49 -08:00
gaurank kathpalia
e484040fb0 qcacld-3.0: Move code from CSR to roam scan offload to new structs
Move code from CSR to roam scan offload to use new converged
structures.

Change-Id: Ie69a88f419d38ec611b4dc18ed15d7eb1f53e1ae
CRs-Fixed: 2853488
2021-01-13 22:24:19 -08:00
gaurank kathpalia
8e098a3412 qcacld-3.0: Replace CSR API with connection mgr API part 4
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: I22f83727e4b2e6f6b7258ef41f8595e789015a58
CRs-Fixed: 2853089
2021-01-13 04:42:57 -08:00
gaurank kathpalia
c86ce01b74 qcacld-3.0: Replace CSR API with connection mgr API part 3
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: Id4b92ba5db10935b5deccdacd72218d4a087c61d
CRs-Fixed: 2852437
2021-01-11 15:13:25 -08:00
gaurank kathpalia
130e95060d qcacld-3.0: Cleanup the struct sCsrNeighborRoamControlInfo
Cleanup the struct sCsrNeighborRoamControlInfo and move params in
vdev ext object.

Change-Id: If5a490c68137622838afc831a4da0e1da7fa49c4
CRs-Fixed: 2850991
2021-01-08 23:30:34 -08:00
gaurank kathpalia
835437cad6 qcacld-3.0: Add legacy pointer in connection manager context
Add legacy pointer in connection manager context to use for RSO
and other connection manager legacy operations.

Change-Id: Ibc665f53d77aebb3f248fedbdffd1cfe86492b25
CRs-Fixed: 2845980
2021-01-07 23:28:49 -08:00
gaurank kathpalia
6b72d4685b qcacld-3.0: Replace CSR API with connection mgr API part 2
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: Id0ffae005fde5bff69fc486c94c3332872bab786
CRs-Fixed: 2848570
2021-01-07 23:28:45 -08:00
Abhishek Singh
d3cbcc0d30 qcacld-3.0: Remove duplicate struct struct wlan_ies
Remove duplicate struct struct wlan_ies and replace with
struct element_info.

Change-Id: I60d34db5845d840679052912182ea09b86988e43
CRs-Fixed: 2848237
2021-01-06 09:11:53 -08:00
gaurank kathpalia
deceac79c3 qcacld-3.0: Replace the CSR API with connection mgr API
Replace the CSR API to get connect info with cnx mgr API.

Change-Id: Ia037016a6eab0fd4ebec6cbbb991ff255b43bb2d
CRs-Fixed: 2847585
2021-01-05 05:01:53 -08:00
gaurank kathpalia
dc7cca8a80 qcacld-3.0: Add connection manager Logic for connect resp from LIM
Add connection manager Logic for connect resp from LIM.

Change-Id: Ifea77cd839d5f21f50b03f833fd0daa8a1cd8bdd
CRs-Fixed: 2846957
2020-12-31 20:53:04 -08:00
Abhishek Ambure
aa2bfeb4f7 qcacld-3.0: Handle disconnect rsp via connection mgr
Host add support to handle disconnect response via connection
manager.

Change-Id: I444dc93b0e089b3694bb041a671ec788910d5bcf
CRs-Fixed: 2846115
2020-12-30 11:24:39 -08:00
gaurank kathpalia
f8a769a7b6 qcacld-3.0: Add cnx mgr logic for connect and disconnect ext ind
Add connection manager logic to handle p2p/tdls/policy mgr logics
on connect/disconnect start and complete ext indication. And
add the call to csr to update the legacy structs.

Change-Id: I218a1d193dd62ad041e84078bd2509b82ec11363
CRs-Fixed: 2846663
2020-12-30 11:24:34 -08:00
gaurank kathpalia
af3603f2dc qcacld-3.0: Use the connection manager API to initiate disconnect
Use connection manager API to initiate disconnect from HDD and CSR.

Change-Id: I04c3b0c3cc65d1f21ac3a5047be448c305a2ca6b
CRs-Fixed: 2846108
2020-12-30 05:01:32 -08:00
Abhishek Ambure
15885d348c qcacld-3.0: Allow switch to RSO STOP State while roam in progress
Problem scenario:
1) Host gets roam event from FW and RSO state is switched to
   ROAM_IN_PROGRESS.
2) Host gets reassoc response followed by FW down indication.
3) Host processes reassoc response in HDD and sends disassoc to
   FW as FW down indication received.
4) As a part of disassoc host tries to switch RSO state to STOP.
   But as present RSO state is ROAM_IN_PROGRESS and FW is down,
   host fails to send RSO stop command to FW and doesn't switch
   RSO state to STOP.
5) Lim disassoc send fails due to FW is down and host proceeds
   with lim_send_disassoc_cnf and lim_cleanup_rx_path.
6) In lim_cleanup_rx_path() host checks for present RSO state is
   ROAM_IN_PROGRESS and returns without calling lim_del_sta();
7) Thus peer delete and vdev delete is not send to FW and host
   vdev State machine stuck at SP-SUSPEND_DOWN which leads to
   peer and vdev reference leaks.

Fix:
Allow switch to RSO stop state while present RSO state is
ROAM_IN_PROGRESS.

Change-Id: I4a838ecd98a7ca377cd557d7a01a93ac53449595
CRs-Fixed: 2844647
2020-12-24 12:30:29 -08:00
Abhishek Ambure
65fc8b763b qcacld-3.0: Add support to handle disconnect ind via CM
Host add support to handle disconnect indication from connection
manager.

Change-Id: I824afebc2ac919e3c85d9abca3cc343160c2a95e
CRs-Fixed: 2842187
2020-12-22 18:47:33 -08:00
Jianmin Zhu
ac8b95e887 qcacld-3.0: Clear whole operations bitmap when RSO deinit
To avoid roaming enable failed for operations bitmap set/clear mismatch for
SAP+STA or STA+STA concurrency, clear whole operations bitmap when RSO
deinit, then roaming can be enabled again after STA disconnect and
reconnect.

Add log when set/get operations bitmap to help debug.

Change-Id: Ie1f1a213dcdefb393ec3e1e2c6a8a71ab17b226c
CRs-Fixed: 2834199
2020-12-11 18:49:18 -08:00
gaurank kathpalia
81465cfdd5 qcacld-3.0: Add logic to create bss peer from connection manager
Add logic to create bss peer from connection manager.

Change-Id: Ia150669b2bbc55ddf722a92617de2a13b7357cb5
CRs-Fixed: 2832727
2020-12-08 05:22:28 -08:00
gaurank kathpalia
94cdcf0ddb qcacld-3.0: Add logic to delete bss peer from connection manager
Add logic to delete bss peer from connection manager.

Change-Id: Ic0f53e87525af670f7a87d84d168276bbcd73efd
CRs-Fixed: 2832733
2020-12-07 14:58:29 -08:00