Commit Graph

1670 Commits

Author SHA1 Message Date
Surabhi Vishnoi
93267fe03e qcacld-3.0: Fill the rssi for rx data packets in packet capture mode
All msdus which are received as part of single ppdu will have same
ppdu_start. Firmware fills the ppdu_start tlv of only first mpdu.
So copy the rssi_comb from first mpdu's ppdu_start to all mpdus
which are part of single ppdu in rx desc of data packets.

Change-Id: I43465f072b653cd49f823b54d43f64b2a7afd11f
CRs-Fixed: 2895155
2021-05-04 06:53:16 -07:00
abhinav kumar
17a2fc170b qcacld-3.0: Update pmk cache entry for roamed AP
Consider two APs: AP1, AP2

Both APs configured with EAP 802.1x security mode
and OKC is enabled in both APs by default. Initially
DUT successfully associated with AP1, and generated
PMK1 by performing full EAP and added an entry for AP1
in pmk table. At this stage, pmk table has only one
entry for PMK1 (1. AP1-->PMK1).

Now DUT roams to AP2 using PMK1 (as OKC is enabled)
but session timeout happens on AP2 just before 4 way
handshake completion in FW. At this point of time DUT not
in authenticated state. Due to this DUT performs full EAP
with AP2 and generates PMK2. As there is no previous
entry of AP2 (AP2-->PMK1) in pmk table. When host gets
pmk delete command for BSSID of AP2, the BSSID match
fails. Hence host will not delete pmk entry of AP1 as well.

At this point of time, the PMK table has two entry
1. AP1-->PMK1 and 2. AP2 --> PMK2.

Ideally, if OKC is enabled then whenever timeout occurs in
a mobility domain, then the driver should clear all APs
cache entries related to that domain but as the BSSID
doesn't exist yet in the driver cache there is no way of
clearing the cache entries, without disturbing the legacy
roaming. Now security profile for both APs changed to FT-RSN.
DUT first disassociate with AP2 and successfully associated
with AP2 and perform full EAP and generates PMK3. DUT first
deletes PMK entry for AP2 and then adds a new entry for AP2.

At this point of time pmk table has two entry AP2--> PMK3
and AP1-->PMK1. Now DUT roamed to AP1 using
PMK3 but sends stale entry of AP1 (PMK1) to fw via RSO
command. This override PMK for both APs with PMK1
(as FW uses mlme session PMK for both APs in case of FT
roaming) and next time when FW try to roam to AP2 using
PMK1, AP2 rejects PMK1 (As AP2 is expecting PMK3) and
initiates full EAP with AP2, which is wrong.

Fix is to update pmk table entry for roamed AP1 with PMK3 value
comes to host via roam sync indication event.. By this host
override stale entry (if any) with the latest valid pmk for
that AP at a point of time.

Also add new api to get the sae single pmk ini value and
update the bss desc of single_pmk cap after intersecting the ini
value.

Change-Id: I12fecbae69d0d2a11f2a39eee6be960752d831bd
CRs-Fixed: 2889847
2021-05-03 15:03:10 -07:00
Lincoln Tran
efcc67259e qcacld-3.0: Set AP power mode back to LPI
When starting SAP, the AP power type is decided based on certain
conditions. After turning off the SAP, the power type is no longer
valid, so reset it back to default.

Change-Id: I472da2e02b58017dab4855fc83cd4e15b24b7b08
CRs-fixed: 2934622
2021-05-03 12:52:56 -07:00
Nirav Shah
1932ac5950 qcacld-3.0: Add ini to enable/disable TSF sync feature
Add ini to enable/disable TSF sync feature.

Change-Id: I84139f14ac7d01fb2cc52e84a9a817e644a05c77
CRs-Fixed: 2932588
2021-04-30 14:46:50 -07:00
abhinav kumar
a20ff6027f qcacld-3.0: Allow STA+STA to connect in MCC mode
In case of STA + STA or STA + P2P CLIENT concurrency
in MCC, no need to update the beacon interval while
processing connection on the second interface.

Currently, the driver only bypass beacon interval
validation for P2P CLIENT connection in case of
STA + P2P CLIENT concurrency in MCC.

Fix is to bypass beacon interval validation for the
second sta connection so that connection can happen
in MCC for STA + STA.

Change-Id: I4c3f8b1ed0b22f809a291eb88dfd95255cebe5e2
CRs-Fixed: 2934503
2021-04-29 17:40:25 -07:00
Utkarsh Bhatnagar
8ce3d59fb0 qcacld-3.0: Move LFR2 FT logic to vdev mlme
Move LFR2 FT logic to vdev mlme.

Change-Id: I77435ec78a6eeacf47b26aec214d08ad056ebabe
CRs-Fixed: 2935076
2021-04-29 11:36:25 -07:00
Lincoln Tran
f3ce32ef59 qcacld-3.0: Only send VHT TX_BF if FW supports it
Only send the VHT TX beamforming capability if firmware has set the
support bit. This helps ensure backward compatibility for older
products.

Change-Id: Ia5830c9f378e3f0ddc83c8019d5168a270ad6f69
CRs-fixed: 2933687
2021-04-29 01:45:10 -07:00
Nisha Menon
934509d20c qcacld-3.0: Stop BW monitoring before disabling IPA pipes
Stop the BW monitoring and stats collection for IPA before
disabling the pipes. Add this to the the case where WLAN
is in SSR and IPA pipes are being disabled when last client
is disconnecting.

Change-Id: I29e8ec6d73287cf601f829e74ba03aa611564d3a
CRs-Fixed: 2922079
2021-04-28 12:04:53 -07:00
Utkarsh Bhatnagar
ea990e3972 qcacld-3.0: Handle TDLS peer count logic for SSR scenario
Always decrement tdls_soc_obj->set_state_info.set_state_cnt
in case TDLS is disconnected due to STA disconnection
triggered as part of SSR.

If it is not, then for SSR, after the system restarts,
this count is used and can be interpreted as second
tdls connection.
Currently, multiple tdls links are not supported, so
TDLS set state CMD (WMI_TDLS_SET_STATE_CMDID) won't be
sent to fw, although peer create and peer assoc will
go to firmware which results in crash.

Change-Id: Ib764cd04a04fab237840cdffafa9752fbe202418
CRs-Fixed: 2931199
2021-04-27 16:13:00 -07:00
Tiger Yu
9845857014 qcacld-3.0: Use the global lock instead of the ipa init_deinit_lock
Use the global lock instead of the init_deinit_lock in the ipa_obj to
avoid access the invalid memory with ipa_obj->init_deinit_lock since
the ipa_obj will be freed after driver shutdown.

Change-Id: I98a844456873f60213fae19c237bb08b76b4846c
CRs-Fixed: 2887487
2021-04-27 06:19:06 -07:00
Arun Kumar Khandavalli
33bef282bb qcacld-3.0: Add DBS_OR_SBS support in hw_mode_list
The enhancement is to add DBS_OR_SBS hardware mode
support.

Change-Id: Id5a2f0babcf0a1a2f6982ff671af8f660ec56a0f
CRs-Fixed: 2931621
2021-04-26 10:01:37 -07:00
abhinav kumar
9ca87d9490 qcacld-3.0: Address corner scenarios for dual sta roaming
Address below corner scenarios for dual sta roaming:

1. Initialize primary interface vdev id
with WLAN_UMAC_VDEV_ID_MAX.

2. Enable roaming while processing set primary interface
vendor command irrespective of dual sta roam policy.

3. Disable mcc_adaptive_scheduler before sending
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID to FW and
enable it if host receives dual sta policy as unbiased.

Change-Id: I8e5254c6f9053bd5fe7f925af4b577e76c9b9a2e
CRs-Fixed: 2928870
2021-04-26 10:01:30 -07:00
abhinav kumar
18dc7adec9 qcacld-3.0: Dont allow roaming on non primary STA iface
Presently the roaming design is to support roaming on
both the STA in DBS mode (with different bands).

With commit I60f6bdb7df4d9eece4fd14abe1fab2d5644d47f1,
Driver allow STA2 connection to any available AP(s).

So in case if STA2 connectes in MCC mode then host
should not allow roaming on non primary STA iface.

Change-Id: I84c77644c6023322ac77e307b06be70ec0f58ed5
CRs-Fixed: 2928804
2021-04-26 10:01:24 -07:00
abhinav kumar
7e315ca4af qcacld-3.0: Set time quota for 2 MCC vdevs/adapters
If STA + STA connected in MCC, FW should distribute
the duty cycle between primary and secondary connection
in 70:30 ratio.

Quota for the 2nd role is calculated as 100 - quota of
first mode.

Change-Id: I36ab9a9717da1e1f0ff0e0e11a18681c97ed6c58
CRs-Fixed: 2927460
2021-04-26 10:01:16 -07:00
abhinav kumar
09474f3886 qcacld-3.0: Don’t consider pcl weightage for STA conn
If there is more than one STA iface concurrently active
and one of them is marked as a primary iface. The host
received CONCURRENT_DUAL_STA_POLICY vendor command with
policy PREFER_PRIMARY. Then Don’t consider PCL weightage
for an STA connection. Due to this host/fw allows a new
connection either in DBS, SCC or in MCC.

Change-Id: I400165f8dd3ab7b94b2cb808f8b34b34d6d42fee
CRs-Fixed: 2929015
2021-04-26 10:01:08 -07:00
Utkarsh Bhatnagar
955173c481 qcacld-3.0: Fix few roaming issue for wake lock and scan
Reset scan reject params on roam abort and also if connect
lead to roam invoke release the wake lock as we do in legacy
case, if required roam invoke can use new wake lock.

Change-Id: Ieb870e2598687a1418e896d761f19a198a03a98f
CRs-Fixed: 2929311
2021-04-23 04:35:53 -07:00
Bapiraju Alla
feddfb47cb qcacld-3.0: Add missing implementation for 11be association
Currently below implementation is missing in the driver. So driver
is failing to associate in 11be. Add this implementation to support
11be association in the driver
  - Filling EHT IEs in probe response
  - Sending EHT mcs capabilities while creating the peer
  - Fix compilation issues when 11BE feature is enabled
  - Add the the 320MHZ to wma_chan_phy_mode

Change-Id: Ib535db413d5578840feed7fd18bb00e5e28cfb6f
CRs-Fixed: 2926471
2021-04-23 04:35:43 -07:00
abhinav kumar
0cf80481e1 qcacld-3.0: Allow STA2 connection to any available AP(s)
Currently, the driver restricts the connection of the 2nd
STA to channels on the other band of the 1st STA connected
band. As per the new requirement, the host should allow STA2
connection to any available AP(s), if primary iface is
configured.

Change-Id: I60f6bdb7df4d9eece4fd14abe1fab2d5644d47f1
CRs-Fixed: 2915733
2021-04-22 21:59:13 -07:00
abhinav kumar
0ad5179cd6 qcacld-3.0: Add support to set primary STA interface
Add support to primary STA iface when there are more
than one STA iface concurrently active via the
SET_WIFI_CONFIGURATION vendor command.

Below attribute associated with this vendor command to
give indication to host to set primary interface:
QCA_WLAN_VENDOR_ATTR_CONFIG_CONCURRENT_STA_PRIMARY.
Set indicates that the specified iface is the primary
STA iface.

This configuration helps the firmware/chip to support
certain features (e.g., roaming) on this primary interface,
if the same cannot be supported on concurrent STA ifaces
simultaneously.
This configuration is only applicable for the STA iface and
gives the priority for it only over other concurrent STA
ifaces. 1-Enable, 0-Disable.

Change-Id: I2bc7d8880c78c0c05e824f58aadacd84369d1880
CRs-Fixed: 2915728
2021-04-22 21:59:09 -07:00
abhinav kumar
31df4c4960 qcacld-3.0: Add support to config concurrent dual sta policy
Add support to configure the concurrent session policies
when multiple STA ifaces are getting active via the
CONCURRENT_DUAL_STA_POLICY vendor command.

Possible values associated with this vendor command are:
1. QCA_WLAN_CONCURRENT_STA_POLICY_PREFER_PRIMARY:
This indicates host to give preference to the Primary
STA interface while selecting the connection policies
(e.g., BSSID, Band, TX/RX chains, etc).

2. QCA_WLAN_CONCURRENT_STA_POLICY_UNBIASED:
This indicates connection policies for the subsequent STA
connection shall be chosen to balance with the existing
concurrent STA's performance.

Change-Id: I56994a182bb54adca57c3fc8fce9963b5db37b79
CRs-Fixed: 2915718
2021-04-22 21:59:04 -07:00
Bapiraju Alla
9c501681db qcacld-3.0: Use separate request context for NAN and NDP
Currently single request context is used for NAN discovery and NDP.
If NAN disable request is sent to the FW and FW sends NDP end
indication and didn't send NAN disable indication. In this case,
wait event for NAN disable indication will be completed as part of
NDP end indication. This is because same request context is used for
both NAN discovery and NDP.

To resolve this, use separate request for NAN discovery and NDP.

Change-Id: Ic42e32c5cfd818188ca96d6cba3cbec1ed85a3ec
CRs-Fixed: 2921287
2021-04-22 15:25:12 -07:00
Lincoln Tran
7e240c6d84 qcacld-3.0: Fix call to get vdev mlme obj
In the validate beacon interval logic, there are a few calls to get the
vdev MLME object from the interface manager component. However,
the component does not have a vdev object, so get it from the MLME
component instead.

Change-Id: I7333edeb6f1f0d5669605fe9e3d4fb10745d1fa4
CRs-fixed: 2928798
2021-04-22 13:13:27 -07:00
Utkarsh Bhatnagar
d6fc151325 qcacld-3.0: clear pmkid cache when ap off
Add logic similar to I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb
in connection manager to flush PMID on HB failure.

Change-Id: Id87b5774a18a377719c56d3f34dc31284f0a39a3
CRs-Fixed: 2928282
2021-04-21 11:03:35 -07:00
Jyoti Kumari
e9a700f4aa qcacld-3.0: Don't use wlan_freq_to_chan
As part of regulatory cleanup, wlan_freq_to_chan() is removed.

Use wlan_reg_freq_to_chan() instead of wlan_freq_to_chan()

Change-Id: I18d7996a0b117de90cd32f2208702d01655ceeb9
CRs-Fixed: 2926114
2021-04-20 11:42:27 -07:00
Manikanta Pubbisetty
d60dfebd0b qcacld-3.0: enabled EXT GRP IRQs after power save exit
Currently in the WoW design of Moselle, EXT GRP IRQs are
enabled before sending SMP2P power save exit message is
sent to the FW. Because of this, any pending IRQs in the
GIC will immediately fire and could race with the SMP2P
power save exit logic. Any access to the registers done
before power save exit would result in system errors.
Enable the EXT GRP IRQs after sending power save exit
command will fix the problem.

Change-Id: I16f580279b5aa24861ab5111b9c13db3e38063f4
CRs-Fixed: 2925554
2021-04-20 09:40:52 -07:00
Tiger Yu
fee8629f3e qcacld-3.0: Add is_2g_iface support in WLAN IPA
With IPA TX two pipes support, TX rings for 2G and 5G traffic
are separated. As a result, WLAN needs to let IPA driver
know if the interface registered to IPA is 2G or 5G so that
IPA could differentiate and designate the interface for the
correct IPA TX pipe.

In this change, a new param is_2g_iface is added for the
event interface between protocol and IPA component. And
this new param is applicable only STA_CONNECT and
AP_CONNECT where wlan will register interface details
including is_2g_iface to IPA driver.

For two pipes implementation, is_2g_iface piggy-backs
session_id when passing it to CDP layer. And CDP layer
needs to decode session_id and is_2g_iface.

Change-Id: I5e02ec6969bb2f77d6b40e89d5a9451a7bb0be9d
CRs-Fixed: 2702704
2021-04-20 03:32:15 -07:00
Abdul Muqtadeer Ahmed
de4bda2169 qcacld-3.0: Remove the NULL check for a pointer which will never be NULL
psoc_cfg is pointing to the address of a structure variable,
which will never be NULL.

To address this remove the NULL check.

Change-Id: I12f539ce2feace550c403ffc996fa315994470a7
CRs-Fixed: 2911862
2021-04-20 01:32:06 -07:00
Arun Kumar Khandavalli
40e2d02202 qcacld-3.0: update mlme caps for the EHT
update the mlme data structures with eht capabilities.

Change-Id: I3d6b450d673d07560086383a6e32f5602d59ae41
CRs-Fixed: 2911882
2021-04-19 00:52:39 -07:00
Abhishek Ambure
f0cc4d0d06 qcacld-3.0: Update protected bit for mgmt action frames
Host checks RMF enable and robust action frame category, if both are
true then sets protected bit in mac header of management action frame.

Change-Id: I2d57c52b66ff7abd44dd02b73ad18f13fbdef009
CRs-Fixed: 2917058
2021-04-18 10:43:01 -07:00
bings
e4742ba697 qcacld-3.0: check 11be IE is configured or not from userspace
When starting SAP, If 11be IE is configured from userspace,
driver need check concurrency, update phymode as 11be and notify mlo mgr.

Change-Id: I22fdec5d978c91a8fc292af49462f045922254ae
CRs-Fixed: 2908938
2021-04-16 09:19:55 -07:00
Bapiraju Alla
8b9c2b1322 qcacld-3.0: Add support for 11be parameters configuration
As part of 11be enhancements in the driver, new configuration
parameters will be added. Define new APIs to support EHT
configuration parameters in the host driver.

Change-Id: Ic1890943a2f941e864d0df102e4954aac75d9f11
CRs-Fixed: 2908030
2021-04-15 22:52:08 -07:00
Bapiraju Alla
85ab46fde0 qcacld-3.0: Add support for EHT in management frames handling
Current driver implementation supports management frames handling
till 11ax. As part of 11be enhancements, new information elements
were added. To support 11be in host driver, update management
frames handling to support EHT information elements.

Change-Id: Id7064cbfe0b2c6a413be20c3ea64747a39312845
CRs-Fixed: 2907983
2021-04-15 22:52:04 -07:00
Aditya Kodukula
d915a3dd26 qcacld-3.0: Restore the ini parameter etsi13_srd_chan_in_master_mode
The commit Ic695e36e9b4fc9952cc405d1345b4a6a7d543dad, removed the
ini parameter etsi13_srd_chan_in_master_mode assuming that the
ini is obsolete and no longer being used. But, the ini is still
being used by the OEMs. So, revert the previous changes.

Change-Id: I6b2ba8b8e41ab96981b92e5ff4b2f610f92d7e43
CRs-Fixed: 2923688
2021-04-15 17:45:52 -07:00
Srinivas Girigowda
997c8a07aa qcacld-3.0: Add support to reject TWT setup incase of concurrency
Add support to reject TWT setup request if received when the below
mentioned concurrency scenario exists.

STA + SAP: SCC or MCC: Reject TWT setup
STA + P2P: SCC or MCC: Reject TWT setup

Change-Id: I5c4c2bcc032276a0b83b7a46a44dbf7933cda29f
CRs-Fixed: 2923726
2021-04-15 02:56:11 -07:00
Vulupala Shashank Reddy
2ac9c7e39c qcacld-3.0: Fill timestamp for Mgmt tx packets for packet capture
Currently in packet capture mode for tx mgmt packets tsf_delta
filled in tsf timeestamp, which is incorrect.

So, fill tsf timestamp in Mgmt tx packets for packet capture.

Change-Id: I90da072ee6d7e0f7a9b6271086e163a71208b7f5
CRs-Fixed: 2916982
2021-04-15 02:56:06 -07:00
Alan Chen
753f93e6e0 qcacld-3.0: Change PMO_ACTION_BLKACK to PMO_MAC_ACTION_BLKACK
There is a compilation error due to use of PMO_ACTION_BLKACK, which
is not defined. Change PMO_ACTION_BLKACK to PMO_MAC_ACTION_BLKACK to
resolve this issue.

Change-Id: I011c4c323bfa7d104c6a6879aba93085a35fed3d
CRs-Fixed: 2923577
2021-04-15 00:12:10 -07:00
Paul Zhang
84c234f62f qcacld-3.0: Support congestion report on multiple interfaces
Support congestion report on multiple interfaces

Change-Id: Iff650519c5b0e48ad63bb0a05d1c736ec40b385d
CRs-Fixed: 2832477
2021-04-14 05:34:12 -07:00
Vulupala Shashank Reddy
d1f7201b35 qcacld-3.0: Fill timestamp for packet capture rx data packets
For rx data packets in packet capture mode fill timestamp
from msdu start.

Change-Id: Iebbdcf303e67369f855d5cf3514df0e03e38dedd
CRs-Fixed: 2917013
2021-04-14 05:34:08 -07:00
Amruta Kulkarni
d32aa6c182 qcacld-3.0: Add ssid info during roam sync
During roam sync add ssid infoemation in connect response structure.

Change-Id: I00c03305ddbfcf03397ad5e27fa3d5e52acdbb90
CRs-Fixed: 2919735
2021-04-13 11:52:15 -07:00
Srinivas Girigowda
1bc852f685 qcacld-3.0: Reject TWT setup if there exists another TWT session
Add support to reject the TWT setup request if there exists
another TWT session with different dialog id.

Change-Id: I59c0ba4279581bad14bec886d22c0ac65838ec17
CRs-Fixed: 2920494
2021-04-13 03:39:42 -07:00
Srinivas Girigowda
8703e09f92 qcacld-3.0: Enhance mlme_twt_is_command_in_progress() to return active_cmd
Currently, mlme_twt_is_command_in_progress() function checks if the given
command is in progress or not. For inputs like WLAN_TWT_ANY, if this function
returns true then from the current logs, its not known which
active command in progress.

Hence for better debugging, enhance this function to return active command.

Change-Id: Ibc5c5babb042408b0e8988fe229d344ed98bfff3
CRs-Fixed: 2920494
2021-04-13 03:39:37 -07:00
Yu Wang
fdc00052a7 qcacld-3.0: set msdu/mpdu aggr size for each vdev start
The global aggregation size is only set to firmware once
when vdev is created. And the size may be modified
dynamically for a specified AP during association, according
to the OUI based aggregation size configured by ini
'cfg_tx_iot_aggr'.

If global AMSDU size is 0, considering the case as below:
1. connect to AP-1 which is included in 'cfg_tx_iot_aggr',
   the AMSDU size will be set to the specifed value.
2. connect to AP-2 which is NOT in 'cfg_tx_iot_aggr',
   it doesn't reset the AMSDU size to 0, and firmware is
   still using the value set in step #1, it's wrong.

To fix this issue, set the global size for each vdev start,
as init values for each connection.

Change-Id: I790d580fc5762e6816e840ba5484b3cd758334df
CRs-Fixed: 2918046
2021-04-13 03:39:19 -07:00
Jianmin Zhu
ac8d6a6ba2 qcacld-3.0: Disable TX_AGGREGATION_SIZE ini for HSP
HSP doesn't support TX_AGGREGATION_SIZE ini, need disable it to avoid
confusing.

Change-Id: I9e49ad5218f913f116cf4472f768f572740f14df
CRs-Fixed: 2918796
2021-04-10 22:52:22 -07:00
Vulupala Shashank Reddy
85bf09b858 qcacld-3.0: Refactor the code related to packet capture header
Refactor the code to replace htt tx data header with packet capture
header. So that we can add extra parameters in packet capture
header to send required data to packet capture callback function.

Change-Id: I863c63b925d1cd8ba5a8a7f0bc08ee3cd2acb96b
CRs-Fixed: 2916795
2021-04-10 02:40:53 -07:00
Abhishek Singh
e948157697 qcacld-3.0: Fix the PMK sent for 11r
As part of I418be56d452389a9f7b8d48e28f793567e81767a due to copy
paste error in cm_roam_scan_offload_fill_lfr3_config the pmk was
copied to rso_11i_info instead of rso_11r_info.

Fix this by copying pmk to rso_11r_info.

Change-Id: If4d1ea23ab4b4c43db3fac78fbfd43ad74a7e1b4
CRs-Fixed: 2920206
2021-04-09 20:50:27 -07:00
Vulupala Shashank Reddy
a8d99b9c1b qcacld-3.0: Fix data rate in mgmt rx packets in packet capture mode
Currently the rate, ofdm and cck flags are filled to support only
legacy rates.To support other rates too, fill ofdm and cck flags
based on phymode and fill rate in terms of 500 Kbps in tx status.

Change-Id: I972919ebd2cbd19a1b55af0324e481fada7f12cd
CRs-Fixed: 2917079
2021-04-09 09:50:29 -07:00
Srinivas Girigowda
6879ad5d67 qcacld-3.0: Add support for TWT re-negotiation failure
1. If the TWT setup parameter re-negotiation results in failure,
   then host driver shall trigger TWT teardown for the
   existing TWT session.
2. Upon receiving the TWT teardown confirmation from the firmware,
   host driver shall cleanup TWT session, send teardown notification
   to the user space and ready for next TWT setup command.

Change-Id: I553ae7de8d900a3dc12d563b781f9fefa36f8a0b
CRs-Fixed: 2916548
2021-04-09 02:47:12 -07:00
Pragaspathi Thilagaraj
1d6fac590c qcacld-3.0: Clear TWT context on receiving roam synch indication
The userspace doesn't expect TWT teardown or notify events after
roaming. So to clear the driver internal TWT context, for old
peer, call the mlme_init_twt_context() on roam synch complete.

Change-Id: If1e4fe2d79561885052caf8d5231d1c943f10c96
CRs-Fixed: 2912872
2021-04-07 19:28:59 -07:00
Will Huang
4d62bb1bc2 qcacld-3.0: Fix roaming/disconnect not sync issue
Change I588a56f4c96d137d3283b2dc57274de069ecb4ab changed
wlan_cm_abort_rso() return status from BUSY to FAILURE when roaming
in progress, it caused disconnect command not wait for roaming
complete/abort, and lead to abnormal data access.

Change-Id: I16004b006283c05ed94fb3ca4bc0e9376485aca7
CRs-Fixed: 2910443
2021-04-07 01:21:54 -07:00
Pragaspathi Thilagaraj
4cad5e9c11 qcacld-3.0: Enable partial roam scan for provided triggers
By default, the driver fills the roam scan scheme as none for
all the triggers in WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
but if the roam scan scheme bitmap is set for particular
trigger, then for the corresponding trigger the roam scan scheme
should be sent as ROAM_TRIGGER_SCAN_MODE_PARTIAL.

Send ROAM_TRIGGER_SCAN_MODE_PARTIAL if roam scan scheme bitmap is
provided.

Change-Id: I82f16f7c0e24be472c95278eb3085f7d2623b63a
CRs-Fixed: 2914142
2021-04-06 23:12:27 -07:00