Commit Graph

347 Commits

Author SHA1 Message Date
Jyoti Kumari
e526ca28f2 qcacld-3.0: Handle TWT for 11n case
When SAP and STA both are in 11n mode then STA doesn't populate
twt_req bit during assoc req. Because of this TWT commands failed.

As part of fix, check the below variable before setting twt_req
1. TWT requestor support from firmware
2. Enable TWT ini
3. TWT ini support in 11n
4. TWT requestor support from host

Set twt_requestor bit only if all above variable are set.

Change-Id: I77f2397f986b517cd5292109927eece7fdb4c7c1
CRs-Fixed: 3210015
2022-06-01 10:34:07 -07:00
Pragaspathi Thilagaraj
142cab9c7e qcacld-3.0: Check for allowed frequency during set pcl
Sta is not allowed to connect/roam in 6 GHz frequency or indoor
frequency in non-DBS target if SAP is active.
But STA roams to 6 GHz AP when SAP is active since the PCL allows
6 GHz frequency.

While populating PCL to firmware, check if 6 GHz and indoor
frequencies are allowed for non-dbs target and set the
weight appropriately if the channels are not allowed

Change-Id: I0e5fdc5b3c4177283d91cdfc58359336cc11910d
CRs-Fixed: 3205494
2022-05-29 06:03:57 -07:00
Srinivas Dasari
ed58b63609 qcacld-3.0: Fetch right vdev id to continue MLO link disconnect
When disconnected request started for an MLO connection,
link vdev gets disconnected first and then assoc vdev. So active
disconnect request is queued for link vdev first. As part of
RSO stop request-response handshake, the disconnect request is
cached and RSO stop request is sent to firmware. Disconnect is
supposed to resume for link vdev after getting the RSO stop
response . But currently, first MLO vdev gets checked if it
has active disconnect. This may fail to fetch the active
disconnect request if the first vdev in the list is assoc vdev
as it doesn't have active disconnect but link vdev has.
Check if it's a link vdev to resolve this and fetch active
disconnect req always.

Also, if there is only one link present(e.g. single link
connection or failed to connect the secondary link, etc.. ) in the
vdev_list, current release of vdev refs at the end of the API
wlan_cm_mlo_update_disconnecting_vdev_id() is not valid as it's
trying to release all links. Release only the links for which
reference is taken.

Change-Id: Idcb8a979dbdadafd4690e51a7301c4a7dfe82f73
CRs-Fixed: 3203969
2022-05-26 21:20:25 -07:00
Abhishek Singh
2b4bc8d5df qcacld-3.0: Add logic to disable a link during STA connect/roam
Add logic to disable a link vdev if concurrency doesn't allow it.
Send mlo_force_link_inactive in peer assoc for this and add
it in deleted table on connection complete.

Also disable the link if roam sync indication indicate
that link is disabled.

Change-Id: Ib0615308a669a5fd9d2b8ef6f8ab3f50953f658d
CRs-Fixed: 3192728
2022-05-24 00:57:24 -07:00
Abhishek Singh
f0ccd97d61 qcacld-3.0: Add disable ml link infra in policy manager
Add disabled links table and APIs to move and remove
vdevs from disabled links table.

Change-Id: I610bbd10e387a4bcd3a5d5c88c3dba5698878441
CRs-Fixed: 3181474
2022-05-23 22:06:05 -07:00
Aravind Kishore Sukla
c4337e7721 qcacld-3.0: Print 5Ghz channels and AP bssid in Roam result
During full scan only 2.4Ghz channels are printed.
Along with 2.4Ghz channels print 5Ghz channels.
so, use policy_mgr_get_connected_roaming_vdev_band_mask()
instead of policy_mgr_get_connected_vdev_band_mask()

After Roam result candidate or currently connected
AP bssid is not printed. so, printed candidate or
currently connected AP bssid by changing logic

Change-Id: I800ebdc033480b93150bdeb00a900c373ba333dc
CRs-Fixed: 3185092
2022-05-20 19:55:15 -07:00
Vulupala Shashank Reddy
389655e402 qcacld-3.0: Fix early stop scan threshold values
Currently we are reading early stop scan min and max
threshold to unsigned int, because of which we are
sending wrong values to FW.

Read early stop scan threshold min and max values
to signed int to send correct values to FW.

Change-Id: I2e96b3c3e9fb48352d8075a4e7a96eae41dacedc
CRs-Fixed: 3191076
2022-05-19 08:06:18 -07:00
Srinivas Dasari
109980c95e qcacld-3.0: Ignore H2E RSNXE support for test config
Userspace sends the vendor command WIFI_TEST_CONFIGURATION by
setting the attribute WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE when
driver needs to ignore the SAE H2E mismatch for 6 GHz connection.
This is needed for certification test support.

Change-Id: Ic26e733e21811a9f19c6e35e27a9d63616c17c1b
CRs-Fixed: 3050391
2022-05-05 20:08:33 -07:00
Gangadhar Kavalastramath
5062518762 qcacld-3.0: Initialize local struct objects
Initialize struct cm_roam_values_copy to avoid using uninitialized
parameters in wlan_cm_roam_cfg_set_value().
Initialize struct pdev_params to zero to avoid using uninitialized
parameters in wmi_unified_pdev_param_send().

Change-Id: I820db09840431487f1756695a0562f8a794f549f
CRs-Fixed: 3187194
2022-05-05 11:14:52 -07:00
Deeksha Gupta
0cfc1baee3 qcacld-3.0: Update peer twt required bit based on TWT notify
when firmware sends TWT notify event with status
HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_CLEAR or
HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_SET.
Host will check the peer TWT required bit and take the
following action:
1. If fw sends HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_CLEAR then
host will dynamically change the peer twt required bit as 0.
2. If fw sends HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_SET then
host will dynamically change the peer twt required bit as 1.

Change-Id: Ia72aab685adf5b56f674e21ceedc2c498930403c
CRs-Fixed: 3163826
2022-05-04 21:10:22 -07:00
Jyoti Kumari
abf8be9f56 qcacld-3.0: Add ini to support twt in 11n mode
Currently TWT works only in 11ax. Add enable_twt_in_11n
ini to support TWT in 11n mode.
False: DO not support TWT in 11n mode
True: Support TWT in 11n mode

Change-Id: If1011c9a24b9c285199d7b0e60e5614d6c1f8786
CRs-Fixed: 3185100
2022-05-04 10:48:16 -07:00
Rahul Gusain
eb9d862389 qcacld-3.0: Update Set Roam Primary reason in the roam stop config
Currently, roam scan mode is updated as roam offload while setting
primary vdev, but expected scan mode in this case is none. This is due
to wrong reason is propagated from cm_roam_stop_req to
cm_roam_scan_offload_fill_rso_configs.
So, reason in roam stop config is updated with set roam primary which is
propagated to cm_roam_scan_offload_fill_rso_configs.

CRs-Fixed: 3182222
Change-Id: I6d0db95f475038e659bddeb24b79ac4f67c9c079
2022-05-02 14:08:37 -07:00
Surya Prakash Sivaraj
f61aa78712 qcacld-3.0: Use CM SM to get the roam sync state
Use the Connection Manager state machine to check if the
VDEV is currently in roam sync state. RSO states can be
changed dynamically based on the roaming configuration, whereas
the state machine would maintain the state.

Change-Id: Ic5c9a3a322febfe6b71f4684d5074dad599ecd37
CRs-Fixed: 3183191
2022-04-28 13:06:07 -07:00
Vishal Miskin
d75a1c786c qcacld-3.0: Add support for QCA_WLAN_TWT_SET_PARAM command
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).

Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
2022-04-26 07:03:27 -07:00
Pragaspathi Thilagaraj
2bbd4b2892 qcacld-3.0: Log SAE authentication frames as part of roam logs
SAE authentication logging events are sent from host
driver during connection as well as during roaming.
But the other roaming frame related stats are printed
as part of the WMI_ROAM_STATS_EVENTID handling.
Since this roam stats event is received after preauth
frame related logs are queued to userspace, the order
of the logs are not correct.

Cache the SAE preauth logs in mlme and print them
upon receiving ROAM stats event. Read the firmware
service capability to decide if new caching needs
to be used or legacy behavior needs to be followed

Change-Id: I76381b9deef222f1481325974e2b5d9730eb2b67
CRs-Fixed: 3154147
2022-04-25 16:35:09 -07:00
chunquan
2e87d35525 qcacld-3.0: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: I17cbaf90ae9b6f428c785413723a5dfb3619de0c
CRs-Fixed: 3175450
2022-04-25 08:57:56 -07:00
Amruta Kulkarni
de6cf66038 qcacld-3.0: Add null check for vdev
To avoid null pointer access, in mlo_fw_ho_fail_req()
api add vdev null check.

Change-Id: Iabe6080f44b0a9cddba3f164697b07d9afc490b4
CRs-Fixed: 3173980
2022-04-20 18:43:49 -07:00
abhinav kumar
721b08defb qcacld-3.0: Update pmk for roamed AP to pmk cache table
Assume AP1 and AP2 are SPMK APs. For SPMK AP(s), Host
should add an entry of an AP in PMK cache table like below in
two cases only:
Case 1. When DUT successfully associated with SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing beacon of associated AP after
            successful connection.
Case 2. When DUT successfully roamed to SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing roam sync indication event.

In case of connection with SPMK AP, Host selectively deletes PMK
entry for other SPMK supported AP(s) on basis of “is_spmk_ap”
flag and maintains only one entry for all SPMK AP(s). And host
sends the same single PMK in RSO for further roaming to SPMK AP.
Initially, DUT is connected with AP2. Then Disconnection happens with
AP2 due to NUD failure. After disconnection, the upper layer sends
flush PMK requests for AP1 and AP2. Host deletes old PMK entries for
both APs. Now upper layer sends a set PMK request for AP2. Host adds
AP2 entry in PMK cache table but host does not set "is_spmk_ap" flag
in PMK table for this entry as DUT is not connected to AP2. Now host
receives a connect request for AP1 from the upper layer. DUT
successfully associated with AP1 by performing full SAE authentication.
Host adds an entry for AP1 in the PMK cache table and sets "is_spmk_ap"
flag for AP1 but fails to delete the entry for other SPMK AP(s), here
AP2, from PMK cache table. This is because of "is_spmk_ap" flag is not
set for AP2. At this point of time below is the PMK cache table entry
for SPMK AP(s): The Host PMK cache table has two entries for two SPMK
APs.

   BSSID        PMK     is_spmk_ap flag
    AP2        PMK2           0
    AP1        PMK1           1

Now FW roams to AP2 using PMK1. Host process roam sync indication for
AP2 and updates "is_spmk_ap" flag for AP2 in the PMK cache table. As
Host has a stale entry for AP2 in the PMK cache table, Host sends AP2’s
PMK (here PMK2) in RSO command which firmware will use for further
roaming but roaming fails due to invalid PMK, as target SPMK AP expects
PMK1 in reassociation request.

To handle these scenarios, FW should send PMK info of roamed AP and
host override stale entry for roamed AP (if any) with roamed AP's PMK
in PMK cache table.

Change-Id: I5e46d16a64aa05469ebc389df9b638351d02a1e0
CRs-Fixed: 3152132
2022-04-20 11:48:56 -07:00
Jianmin Zhu
7f667d844b qcacld-3.0: Fix read after free issue
If host invoke roam failed, roam request is freed from vdev when
EV_ROAM_INVOKE_FAIL is handled, can't access it after that.

Change-Id: Ia486a18a6213fce693f85e8f633d343a367ab6e2
CRs-Fixed: 3178286
2022-04-20 10:15:21 -07:00
Sai Pavan Akhil Remella
e8b3b4792b qcacld-3.0: Add min_dwell_time_6g ini support in roam offload scan
Currently min_dwell_time_6g ini support is there only for normal
scan.
Added support to configure min_dwell_time_6g in roam offload scan.

Change-Id: I7da5fff738dbaf2a28a909e58ab6c797724ccfaf
CRs-Fixed: 3156597
2022-04-11 04:09:34 -07:00
Qun Zhang
3f80fae5f0 qcacld-3.0: Refine roam event processing for LFR2/LFR3
Currently wmi_roam_event_id event handler only register under feature
WLAN_FEATURE_ROAM_OFFLOAD, but it's needed for LFR2 roaming too. So
refine roam event processing for LFR2/LFR3.

Change-Id: Ic07fd8a543142fc1e151f484979ab99ff55ce802
CRs-Fixed: 3161973
2022-04-09 01:22:20 -07:00
Srinivas Girigowda
e5bb379ee3 qcacld-3.0: Return -EAGAIN if TWT setup is issued and PS disabled
As per the requirement, if TWT setup request is issued when
power save is disabled, expectation from driver is to return -EAGAIN.

Change-Id: I7a519d15787f912338afabf7e83b561cb3a2ebc0
CRs-Fixed: 3163880
2022-04-04 21:00:06 -07:00
David Oladunjoye
c9287e836d qcacld-3.0: TWT Logging Debug Enhancement
Peer MAC address is not specified when get_peer_by_mac fails.
We should print the peer MAC address with  debug message.

Change-Id: I9d75098784879ddecd447f8dbbcd61e6cdc1bf76
CRs-Fixed: 3153776
2022-03-21 13:08:30 -07:00
chunquan
8f4ed84d9d qcacld-3.0: Replace blacklist abbreviation bl for dl
Replace blacklist abbreviation bl for denylist dl.

Change-Id: Ibbefba66f27cde8711c8c171f821cf668ba350ba
CRs-Fixed: 3153291
2022-03-21 03:16:52 -07:00
VIJAY RAJ
ebe3c21573 qcacld-3.0: Enable full scan logging in cm_roam_scan_info_event
In the api cm_roam_scan_info_event(), only for partial
roam scan the frequencies are logged in logcat. For full scan,
the expectation is to print the frequency count as the number
of characters for scanning all frequencies exceed 255.

Enable Roam full scan logging in api cm_roam_scan_info_event()

Change-Id: Ib644a4e8d85e434e8b826c7656cda1251134c4fa
CRs-Fixed: 3131791
2022-03-20 07:24:25 -07:00
CNSS_WLAN Service
7e61f523c5 Merge changes I75556848,Ib1695962,If033fdb2 into wlan-cld3.driver.lnx.2.0
* changes:
  Release 5.2.1.14G
  qcacld-3.0: Send BMISS disconnection event after roam result event
  Release 5.2.1.14F
2022-03-18 07:50:46 -07:00
Pragaspathi Thilagaraj
54fee51319 qcacld-3.0: Send BMISS disconnection event after roam result event
Currently the beacon miss disconnection is sent when host
wlan driver triggers disconnect and roam result is printed
after the roam stats event is received. Since roam
stats event is received after host triggers disconnect,
the order of prints is BMISS_DISCONN -> ROAM SCAN ->
ROAM_SCAN_DONE-> ROAM_RESULT.

But the expected order is ROAM_SCAN->ROAM_SCAN_DONE->ROAM_RESULT
->BMISS_DISCONN.
So send beacon miss disconnection event after roam result.

Change-Id: Ib1695962bc1613fa4101cebf28b188db42fb5ab5
CRs-Fixed: 3152370
2022-03-17 11:18:48 -07:00
abhinav kumar
4e2cc50408 qcacld-3.0: Send kernel time to userspace
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.

Change-Id: I085a1f140b5036895249723f6a5b34b18d9aa574
CRs-Fixed: 3146742
2022-03-16 19:33:46 -07:00
Deeksha Gupta
620ca069f1 qcacld-3.0: Add support for allowed_authmode
Currently, STA doesn't support roam between WPA2 to WPA3
security or vice versa. To support this feature, host sends
list of allowed_authmode. So that Firmware will check and
roam on those authmode.

Fix, add support for allowed_authmode list in ap_profile.

Change-Id: I438a133a434ea12ec34680997ace358fd4910028
CRs-Fixed: 3113219
2022-03-15 19:16:43 -07:00
Deeksha Gupta
5a5a3deb12 qcacld-3.0: Add support for security scoring
Add support for security score. On the basis of score,
host will select AP for initial connection and roaming.

Change-Id: I041a1b0c1456d7f01dd07e9b282996c56755655e
CRs-Fixed: 3113213
2022-03-14 10:10:56 -07:00
chunquan
03c551de67 qcacld-3.0: Rename files with blacklist/whitelist
Rename files with blacklist/whitelist to denylist/whitelist.
Rename files with blm to dlm.

Change-Id: Ief7ce0a797f74460c9708f8d2dd440412af5b7eb
CRs-Fixed: 3099864
2022-03-14 08:50:05 -07:00
Deeksha Gupta
777ebf8d3a qcacld-3.0: Handle status code for TWT Notify event
Handle status code for TWT Notify event

Change-Id: Icc802a19eaac3ccd92dc6447ed0f797ea43ff454
CRs-Fixed: 3138650
2022-03-14 07:28:18 -07:00
Pragaspathi Thilagaraj
4648e9fece qcacld-3.0: Fix ROAM/NO_ROAM print conditions
As part of the Roam candidate result logging, the
driver prints ROAM if reassociation is successful and
NO_ROAM if candidate is found and roaming is successful.
But the expectation is to print ROAM even if candidate
is found and roaming has failed.

Change the logic to print ROAM/NO_ROAM based on below condition:
1. Roam result successful -> ROAM
2. Roam result failure && candidate is found -> ROAM
3. ROam result failure && candidate is not found -> NO_ROAM

Fix the authentication/association missing frame print
in the roam logging, also cleanup the unused API's.

Change-Id: I43e0cea007890f4796b421b0a42cc71b8ca1a600
CRs-Fixed: 3146630
2022-03-11 09:16:12 -08:00
Pragaspathi Thilagaraj
f1dd1a7be4 qcacld-3.0: Fix BTM response ordering in connectivity logs
Currently for WTC BTM roam trigger, below order is followed:
[22:22:51.127105][BTM] RESP token=1 status=1 delay=0 [vdev_id=0
fw_time=00:53:58.350672]
[22:22:51.127129][BTM] WTC reason_code=6 [vdev_id=0
fw_time=00:53:58.350672]

But expected order is:
[22:22:51.127129][BTM] WTC reason_code=6 [vdev_id=0
fw_time=00:53:58.350672]
[22:22:51.127105][BTM] RESP token=1 status=1 delay=0 [vdev_id=0
fw_time=00:53:58.350672]

Fix this order issue and also ignore the BTM response TLV if
timestamp is 0.

Change-Id: I21fe268a3e3ea065482c1c2938d03b844cd387ea
CRs-Fixed: 3143297
2022-03-10 19:23:52 -08:00
Amruta Kulkarni
6b446b0074 qcacld-3.0: Add checks in mlo api's
- Pass appropriate length size in lim_send_mlo_caps_ie().
- Initialize ml ie reserved bits to 0.
- Add null check in mlo_cm_roam_sync_cb() and
lim_mlo_roam_delete_link_peer().

Change-Id: I70abcca14f29b4a417ae8ca3dda840bbef0de6a0
CRs-Fixed: 3126553
2022-03-08 23:59:10 -08:00
Pragaspathi Thilagaraj
0ca74f6926 qcacld-3.0: Fix cu load/current rssi/rssi threshold invalid values
Driver fetches CU load/current rssi/rssi threshold values from
wmi_roam_trigger_reason TLV.
But the values are applicable only for below roam triggers:
wmi_roam_trigger_reason->cu_load : BSS LOAD trigger
wmi_roam_trigger_reason->current_ap_rssi: Low RSSI trigger/
Periodic scan
wmi_roam_trigger_reason->rssi_threshold: Low Rssi/Periodic
scan trigger

So based on agreement with target, use the values from
wmi_roam_ap_info TLV of the current connected AP
irrespective of the roam trigger.

Change-Id: Iaf204198778c1912f77a625154dd63756b1d23e5
CRs-Fixed: 3128803
2022-03-08 05:37:35 -08:00
Liangwei Dong
a92b03d325 qcacld-3.0: Check vdev and sync_ind ptr before access
Add NULL check for vdev in hdd_stop_sap_set_tx_power and
sync_ind NULL check in cm_roam_sync_event_handler.

Change-Id: I1a760cdd17975403f48b75459ecb5ea9ac3e9d77
CRs-Fixed: 3144140
2022-03-07 02:16:32 -08:00
abhinav kumar
bbfffd169c qcacld-3.0: Handle HI-RSSI scan trigger in 2Ghz connection
The issue is: If STA is connected to a 2.4Gh AP with such a
high RSSI (say around -30dBm) then STA immediately triggers
a high RSSI roam scan.

As per the current design, when connected AP's RSSI is better
than the (gNeighborLookupThreshold - gRoamScanHiRssiDelta),
STA should not trigger HI-RSSI roam scan.

Here default value of INI "gNeighborLookupThreshold" is 78 and
default value of INI: "gRoamScanHiRssiDelta" is 10.

Fix is to allow HI-RSSI roam trigger only if AP RSSI is worse
than gNeighborLookupThreshold - gRoamScanHiRssiDelta.

Change-Id: I7a0d2302a71656b5238bfeea8c2a6ebcd3716ab9
CRs-Fixed: 3128235
2022-03-06 05:04:39 -08:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
Srinivas Dasari
795af8a246 qcacld-3.0: Fetch MLO disconnecting vdev from RSO stop rsp ctx
Host maintains RSO state machine only for assoc vdev as it's
good enough to have only one state machine. Thus host sends RSO
stop request to firmware on assoc vdev though actual disconnect
started on link vdev. Firmware also sends response on the
same vdev. But disconnect has to be resumed for link vdev as
it's paused and waiting for RSO stop response. So, fetch link
vdev from assoc vdev and continue disconnect.

Change-Id: Ib2bc2610a03ba94408d6241d48756872c5ee2ad6
CRs-Fixed: 3135907
2022-03-04 21:05:28 -08:00
Amruta Kulkarni
4a6149f832 qcacld-3.0: Add check for MLO roaming api's
On 11be MLO disabled platforms,
- Add checks in mlo roaming api's for to avoid NULL access.
- Add empty inline function definiations to be used
when 11be MLO flag disabled.

Change-Id: Idc906164279e74530dcf8bdc670464be8ce8c57e
CRs-Fixed: 3141792
2022-03-02 17:33:13 -08:00
Deeksha Gupta
c73d3bfa93 qcacld-3.0: Avoid resetting twt_command_in_progress twice
In TWT component, avoid resetting twt_command_in_progress
twice in case of twt setup response.

Change-Id: I13f46530616bb9608208205051aba91bed7f0dda
CRs-Fixed: 3138102
2022-02-28 07:53:05 -08:00
Pragaspathi Thilagaraj
f9064a2c65 qcacld-3.0: Change the order of BTM req print
Currently roam scan print comes after BTM request print
in connectivity logging. The ideal order is BTM req print
followed by roam scan start.

Change the order of BTM request before scan start.

Change-Id: I63a8e67a43dbd70ed44eb8f18fd979557bf764d2
CRs-Fixed: 3138450
2022-02-25 18:11:29 -08:00
Qun Zhang
eed1953b12 qcacld-3.0: Update LFR2 self reassoc failure processing
Update LFR2 self reassoc failure processing:
1. remove lim_send_switch_chnl_params() from
lim_restore_pre_reassoc_state() when self reassoc failure
to avoid this race condition: one one hand host let FW do
restart, and on the other hand VDEV sm transition to stop
state. Otherwise VDEV sm cannot handle EV_START_RESP event
correcly.
2. register .mlme_vdev_sta_disconn_start callback with
cleanupTrigger eLIM_HOST_DISASSOC.
3. when self reassoc fail, notify reassoc failure reason
to CM SM so that CM SM can trigger CM_DISCONNECT_REQ, then
invoke .mlme_vdev_sta_disconn_start doing cleanup action.

Change-Id: Icb68202e9f72fcbe3e0e4d3e9006a65a73123692
CRs-Fixed: 3109987
2022-02-23 08:36:31 -08:00
Pragaspathi Thilagaraj
2a2b1d00c1 qcacld-3.0: Fix logging level for prints during roaming
Change the logging level of prints that occur during roaming
happens.

Change-Id: I54706d93a30441e48a0e3cb03d7373d2e5b50fee
CRs-Fixed: 3133890
2022-02-20 02:49:00 -08:00
Srinivas Dasari
db3c1a98e5 qcacld-3.0: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer after sending
RSO stop command to firmware and wait for a maximum of 6 seconds
for the response. Host can stop the timer and allow the commands
to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Also, set WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS always when MLO is
supported while sending RSO_STOP to firmware. It's sent only
in case of wpa_supplicant disabled roaming currently.

Change-Id: I8182e60beb9288dba23cc72e978dc781c8ab1707
CRs-Fixed: 3106023
2022-02-18 23:21:06 -08:00
Amruta Kulkarni
921ba7c9f4 qcacld-3.0: Handling for RSO STOP with MLO
During mlo disconnect link vdev disconnect is processed
before assoc vdev.FW expects RSO stop before vdev stop/down
on any vdev.Changes made to handle sending RSO stop on assoc
vdev during disconnect.

Change-Id: I727cedffa4a11f991fd38aa8253c2176271f7b89
CRs-Fixed: 3126419
2022-02-11 02:57:15 -08:00
Srinivas Girigowda
7ea8a92863 qcacld-3.0: Add support for TWT Get_traffic_stats
Add support for TWT Get_traffic_stats command in TWT component.

Change-Id: I927ce90e1dd6b5cc047d99fcd7b54a16a34ca4ed
CRs-Fixed: 3085887
2022-02-11 00:23:23 -08:00
Srinivas Girigowda
22c05ef081 qcacld-3.0: Add support for TWT get_status
In TWT component, add support for TWT get_status command
i.e when host wants to query current status of TWT sessions.

Change-Id: Ib43009e5f6a90c589db25f78e1ca43563f2950fe
CRs-Fixed: 3085483
2022-02-11 00:23:14 -08:00
Srinivas Girigowda
8d529074a0 qcacld-3.0: Add TWT nudge support to componentization
In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.

Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
2022-02-11 00:23:05 -08:00