Commit Graph

1202 Commits

Author SHA1 Message Date
nakul kachhwaha
dcd3e2a624 qcacld-3.0: Add weightage to valid non-pcl channels
In scenarios where p2p is going to be the first connection,
while performing group negotiation, pass up the allowed non-pcl
channels with valid weight so that supplicant can include these
channels as well during negotiation.
Passing interface mode to policy_mgr_get_valid_chan_weights and
populating the channel list based on policy_mgr_is_concurrency_allowed
api for the given mode and assign WEIGHT_OF_NON_PCL_CHANNELS for all
allowed channels.

Change-Id: I8ff08163e6490642f9c2ebd9ca08f1275a2bb1b8
CRs-Fixed: 2734756
2020-07-31 07:43:28 -07:00
Gururaj Pandurangi
1f00e9ccd1 qcacld-3.0: Change Internal/External to External
Change the usage of cfg parameters from Internal/External
to External in .h description for mlme, p2p, and
policy manager files.
External means that both internal teams and external
customers can modify the parameters.

Change-Id: Ic1e68d5a90be2c898ce66aa18e8d91f16561b408
CRs-Fixed: 2712773
2020-07-29 00:23:16 -07:00
gaurank kathpalia
b6dc56c8cc qcacld-3.0: Limit the BTM timeout duration for next connection
- Limit the timeout value of the BLM entry if it has big comeback
 value and allow connection to that BSSID.
- Fix the BLM entry time stamp boundary checks.

Change-Id: I07bf7b1fce1c1e8d349c4fc0a9b0fed07f237197
CRs-Fixed: 2741689
2020-07-27 22:00:27 -07:00
Pragaspathi Thilagaraj
5fb48b5750 qcacld-3.0: Connection manager add ucfg API for sme roam operations
Add changes to handle north bound roaming operations/
configurations in connection manager. Add equivalent connection
manager api for userspace triggered roaming operations & driver
internally triggered roaming offload operations:
sme_enable_roaming() - ucfg_cm_rso_init_deinit : Driver
internally triggered
sme_config_fast_roaming() - ucfg_user_space_enable_disable_rso:
Userspace triggered
sme_start_roaming() - ucfg_cm_enable_rso() - Driver internally
triggered
sme_stop_roaming() - ucfg_cm_disable_rso() - Driver internally
triggered
sme_abort_roam_scan() - ucfg_user_space_abort_roam_scan() -User
space triggered

Change-Id: I65130f69f2afff61b9ef7334ec365d3ce7519930
CRs-Fixed: 2741055
2020-07-27 12:03:11 -07:00
Vulupala Shashank Reddy
2727866b28 qcacld-3.0: Allocate required memory for skb and radiotap
Mgmt txrx component clones skb and sends cloned
skb to its clients ex: packet capture component.
Need to Allocate memory and copy skb so that there
is enough space to copy radiotap header in skb for
packet capture mode.

Free skb cloned by Mgmt txrx component.

Change-Id: I6bc66b5916ec5a8cf28741e4fcb72f14650fdbfa
CRs-Fixed: 2730559
2020-07-27 09:03:39 -07:00
Vulupala Shashank Reddy
f03bd42cdc qcacld-3.0: Gracefully deregister packet capture callbacks
Deregistering packet capture callbacks can call while
processing mon thread which can lead to race condition.

To address this, deregister packet capture callbacks after
mon thread successfully processes its current packet.

Change-Id: I09640128a57ef6adac4e6a025cb81667e49b6e4c
CRs-Fixed: 2735587
2020-07-27 02:42:24 -07:00
Pragaspathi Thilagaraj
0cc9327e43 qcacld-3.0: Validate pcl_req in wlan_cm_roam_send_set_vdev_pcl()
In wlan_cm_roam_send_set_vdev_pcl(), pcl_req intially checked
for NULL can be dereferenced later.

Validate pcl_req and return error if pcl_req is NULL.

Change-Id: Iccc4e09c636d2643c319a1767bf8f673d6d36a80
CRs-Fixed: 2734082
2020-07-26 02:07:59 -07:00
Pankaj Singh
af44671317 qcacld-3.0: Extend Tdls external mode config support
Current implementation of external mode requires supplicant to
send tdls peer mac address. On matching of stats tdls implict
link procedure is trigger for configured peer.

Fix, to allow both configured peer and other peer that supports
tdls to establish the tdls link.

Change-Id: I8f65e6dcc9dec565623ac2d8d2c77e12570f8bfb
CRs-Fixed: 2733830
2020-07-24 13:10:00 -07:00
Bapiraju Alla
6b00fa1a59 qcacld-3.0: Don't trigger self recovery when recovery is in progress
Currently, self recovery is being triggered when suspend/resume
timeout happens. The self recovery API will creates a work to
trigger recovery handler. But this work is not required if the
suspend/resume timeout happens due to FW down. In this case the
recovery will happen as part FW down indication and no need to
trigger recovery for suspend/resume timeout.

Change-Id: I75ea9f67efb21a3e9aaea99b53c256460ba696c5
CRs-Fixed: 2739385
2020-07-24 07:10:11 -07:00
Kiran Kumar Lokere
be109fb59c qcacld-3.0: Add mandatory security checks for 6GHz connection
Check the required security types allowed for 6GHz connection and
do not allow the connection if the secutiry check fails.

Change-Id: Ic680c4600b3f17151e42f8708ff8810e5d16e52e
CRs-Fixed: 2715086
2020-07-24 02:00:53 -07:00
Gururaj Pandurangi
c66e0c9b04 qcacld-3.0: Enable 5.9 ghz channels for US
Add new channel 177 to wiphy struct ieee80211_channel
hdd_etsi13_srd_ch and rename the struct to
hdd_5dot9_ghz_ch.
Add a new ini fcc_5dot9_ghz_chan_in_master_mode to
enable/disable new 5.9 GHz channels 169, 173 and 177
in master mode.

Change-Id: I68dc3be18277ca0e416a579327f406279458899e
CRs-Fixed: 2693707
2020-07-23 17:23:55 -07:00
hqu
f36840cce8 qcacld-3.0: Move rso related process to connection manager [PART 2]
Add new code to implement below functions for connection manager
roam part:
WLAN_ROAMING_IN_PROG/WLAN_ROAM_SYNCH_IN_PROG related handler.
Filling below WMI cmd parameters related process:
WMI_VDEV_PARAM_BMISS_FIRST_BCNT
WMI_VDEV_PARAM_BMISS_FINAL_BCNT
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
WMI_ROAM_SCAN_PERIOD

Change-Id: I28439393a57c72012f9de51f24050f95366294bc
CRs-Fixed: 2738353
2020-07-23 06:59:59 -07:00
Rachit Kankane
3c6bd4eed3 qcacld-3.0: Add runtime support for Inter-Band MCC
To handle no-inter-band MCC scenarios for dual MAC non-DBS solutions,
add changes to detect capability at run-time based on service bits.
If the service is set then code for only intra-band MCC will be
exercised.

Change-Id: If62068f8f05c17278d279f36ec11bc9ca123dfbd
CRs-Fixed: 2730359
2020-07-23 06:59:43 -07:00
Srinivas Dasari
7586ee3a5e qcacld-3.0: Send NAN disable indication to userspace upon SSR
Currently, host driver sends NAN disable request to firmware and
firmware sends NAN disable indication as a response. Host driver
forwards this indication to framework. But when SSR happens,
driver needs to send this NAN disable indication to framework
as firmware lost the NAN context. This allows framework to
initiate NAN again. Send the NAN disable indication with success
status code to framework after recovery.

Change-Id: Ic2139e159f0c1d9c1fb5c39597ce18e0787e809b
CRs-Fixed: 2735047
2020-07-22 11:55:24 -07:00
Gururaj Pandurangi
7792f58388 qcacld-3.0: Enable NAN and NAN datapath by default
The NAN configs gEnableNanSupport and genable_nan_datapath
are being removed from ini config file. So, enable them by
default in .h file.

Change-Id: Ibc1e91e6d010994b5e1419b2241f846e0fde8969
CRs-Fixed: 2710133
2020-07-20 21:54:09 -07:00
Rajeev Kumar
e050826d17 qcacld-3.0: Reduce wow suspend/resume timeout to 4 seconds
Reduce wow suspend/resume timeout to 4 seconds to accommodate
lower DPM WD timeout values. WoW suspend/resume timeout value
should be less than DPM WD timeout.

Change-Id: I481ae544de0d26b49bcc0f5c4d4a384693707a5b
CRs-Fixed: 2730955
2020-07-20 04:46:45 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Abhinav Kumar
68c001d157 qcacld-3.0: Process Disconnect request from FW
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id.
Fix is:
1. Process WMI_VDEV_DISCONNECT_EVENTID and issue disconnection.
2. Make WMI_VDEV_DISCONNECT_EVENTID event as wakable

Change-Id: Ic1e83aace48a3e8424f23641b0e77c66f4283587
CRs-Fixed: 2731952
2020-07-17 21:25:40 -07:00
Ashish Kumar Dhanotiya
4b436bcbc3 qcacld-3.0: Do not block vdev trans if recovery in progress
Currently if SSR happens and at the same time if driver gets
del virtual interface which is a vdev transition, it bloks
this vdev transition and queues into dsc queue assuming that
it will execute once SSR completes.
There is an issue with above assumption,
del virtual interface comes with rtnl lock held which may lead
for other processes to misbehave which are waiting for rtnl lock.
in current case kernel is waiting for rtnl lock to send
shutdown to driver as part of the SSR and this rtnl lock is held
by del virtual interface which is waiting inside dsc queue for
SSR to complete, this leads to the deadlock.

To address above issue, do not insert the vdev transintion in
dsc queue in case of SSR and return the failure instead.

Change-Id: I19c897d68086d885f340d35c686badb70601076a
CRs-Fixed: 2730903
2020-07-17 17:23:16 -07:00
Vulupala Shashank Reddy
6c4a3b8d3c qcacld-3.0: Remove unnecessary clone of skb
Mgmt txrx component clones skb and sends cloned
skb to its clients ex: packet capture component.

Remove extra allocation of skb.

Change-Id: Ic130c13c9fcc52f250b52196b86c761d36a77ba2
CRs-Fixed: 2727370
2020-07-17 04:03:41 -07:00
Utkarsh Bhatnagar
be4a6f5365 qcacld-3.0: Add flush cb in TDLS
Add flush cb  using ucfg_tdls_post_msg_flush_cb() for these TDLS functions:

1. ucfg_tdls_add_peer.
2. ucfg_tdls_update_peer.
3. ucfg_tdls_oper.
4. ucfg_set_tdls_offchannel.
5. ucfg_set_tdls_offchan_mode.
6. ucfg_set_tdls_secoffchanneloffset.

Change-Id: Ic53c23c4738dccd7612e12e9da1eb206d5bfe6fb
CRs-Fixed: 2732230
2020-07-17 04:03:36 -07:00
Abhishek Singh
c76b71a758 qcacld-3.0: Move Blacklist filter while scoring the BSS
While BSS are scored apply blacklist logic to remove
blacklist AP or move the avoid AP at the end.

Change-Id: Id5310ef53d31159104fd40af6670135bb1be4571
CRs-Fixed: 2725144
2020-07-16 23:46:12 -07:00
Abhinav Kumar
c871ecddbd qcacld-3.0: Send roam triggers from vendor cmd to firmware
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON

Send value of above attribute to fw through command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID for trigger
reason WMI_ROAM_TRIGGER_REASON_BTM_WTC.

Change-Id: I17502eebab56652192164144b7ebdadb32033117
CRs-Fixed: 2729119
2020-07-16 20:05:12 -07:00
Abhinav Kumar
87a292e54a qcacld-3.0: Print BTM RSP and initial roam info in kmsg
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the btm response.

This helps in debugging/understanding the scenario when roam
failure happens.

Print the info received related to btm rsp and roam initial
info into kmsg.

Change-Id: Icb2058eed5df3265018b3c53548d123f3a4faf4f
CRs-Fixed: 2728267
2020-07-16 20:05:07 -07:00
Lincoln Tran
1de7a9a643 qcacld-3.0: Update band_capability INI to use bitmap
The band_capability field is used in other places to be
a bitmap over reg_wifi_band. Update the field in wma_tgt_cfg and
wlan_mlme_generic to take the same bitmap for consistency.
Update all references to these fields to expect a bitmap as well.

Change-Id: I8abd697e2fbe02b4eadd32f3027bef7408bac2a0
CRs-fixed: 2726710
2020-07-15 01:46:30 -07:00
Lincoln Tran
d5e1f78aa8 qcacld-3.0: Introduce getband vendor command
Update calls from reg_get_curr_band to reg_get_band since
they provide the same functionality.
Update calls to reg_get_band to expect a bitmap since the API
has been updated.
Update getband driver command to convert the bitmap to the
old values. Also add the new vendor command getband.

Change-Id: I069489ebf4826f8f4bfcb974b74e4d0591d5b33f
CRs-fixed: 2726361
2020-07-14 22:45:22 -07:00
Gururaj Pandurangi
98ca3dac37 qcacld-3.0: Acquire mutex lock within MCC policy mgr api
Currently, the mutex lock is acquired in the caller
functions before calling policy mgr api to check MCC.
Remove it and add the mutex lock within the policy
manager API instead.

Change-Id: I7be6081ed12c1882b808d3ca4e92392d175349e7
CRs-Fixed: 2732055
2020-07-14 13:19:48 -07:00
Srinivas Girigowda
8cf89cb514 qcacld-3.0: Replace obsolete WMA_LOGE() with wma_err()
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Iaf11baa0f09cfb090806527184c6137f8b950aa8
CRs-Fixed: 2723709
2020-07-14 02:02:27 -07:00
Wu Gao
4e5a1591c5 qcacld-3.0: Add ini to configure max tdls peer count
Add ini "gTDLSMaxPeerCount" to configure max tdls peer count.

Change-Id: I45c287c6c9a2fa1dcebcea54fdd0fc0d8a14b064
CRs-Fixed: 2718971
2020-07-13 23:39:20 -07:00
Abhishek Ambure
fbdde4785a qcacld-3.0: Add ini to enable sae auth/assoc retry
Introduce new INI sae_connect_retries to decide auth (initial connect
and roam auth) and connect retry for sae. MAX reties is capped to 2
and max for roam auth is 1.
Default is 0x49 i.e. 1 retry each.

Bits       Retry Type
BIT[0:2]   AUTH retries
BIT[3:5]   Connection reties
BIT[6:8]   ROAM AUTH retries

Change-Id: Idae86a7bdb32244c7f3a140b8591418b8238758a
CRs-Fixed: 2728458
2020-07-12 10:10:20 -07:00
Srinivas Dasari
440a823073 qcacld-3.0: Update policy mgr table if nan_conc control is supported
Currently, policy mgr table entries correspond to NAN/NDI are
updated only if nan_dbs is supported. Update/access the
policy mgr table even when nan_conc_control is supported by host.
This allows the host to take care of NAN cuncurrencies through
policy mgr on the non-DBS platforms.
Process NAN enable request in host if nan_conc_control is
supported, which updates the NAN entry to policy mgr table.

Change-Id: Id6e58a9bfde6ceb66a8a0b33136880f75e36090f
CRs-Fixed: 2729995
2020-07-12 07:31:19 -07:00
Srinivas Dasari
c6551b04b0 qcacld-3.0: Add NAN/NDI entries to non-dbs pcl table
Currently, non-dbs pcl tables don't have entries for
NAN/NDI when the target doesn't support DBS. Firmware takes care
of the NAN concurrencies in such targets.
But host has to take care of the NAN concurrencies when firmware
allows host to do so through WMI_SERVICE_NAN_DISABLE_SUPPORT.
So add entries in non-dbs pcl table to allow/block different
concurrencies in host.

Change-Id: I0c4c59065a2fbc3beae13b1217673e8290c1baa8
CRs-Fixed: 2729992
2020-07-12 07:31:16 -07:00
Srinivas Dasari
b63d131e44 qcacld-3.0: Change uint8_t to qdf_freq_t to hold NAN frequency
Currently, SAP has to be moved to NAN channel once NAN enable is
successful. The frequency is copied to a uint8_t variable but
it can't hold the frequency as the value would be more than 2412.
It was initially declared to hold channel number. Change the
variable to qdf_freq_t to hold the frequency.
Also, move the SAP to NAN 2.4GHz channel in non-DBS platforms.

Change-Id: I27186c3a5915db549336537702287ee67cdce011
CRs-Fixed: 2729991
2020-07-11 22:39:34 -07:00
Srinivas Dasari
8e493f081d qcacld-3.0: Handle SAP+NAN concurrency when NAN_DBS isn't supported
When nan_sap and nan_disable are supported but nan_dbs is not
supported,
1. Allow SAP+NAN concurrency if force SCC is supported
2. Disable NAN if SAP comes up on a different band and force SCC is
   not supported
3. Reject NAN enable if SAP is already on a different band and force SCC is
   not supported

Change-Id: Ic53eedcda2e5b314f9be2a4bd913d5e63f6613a2
CRs-Fixed: 2729986
2020-07-11 22:39:29 -07:00
Srinivas Dasari
d296457502 qcacld-3.0: Rename nan_disable_support to nan_conc_controlled_by_host
nan_disable_support is the firmware capability to allow host to
disable NAN. So that host can disable NAN in any unsupported
concurrencies. This was actually introduced to handle
NAN concurrencies. Rename the capability flag and corresponding
APIs across host driver to resemble the functionality.

Change-Id: I24805194fdb855040bcc518acc96459ee7cb5128
CRs-Fixed: 2729984
2020-07-11 20:32:22 -07:00
Pragaspathi Thilagaraj
eb128b5dfe qcacld-3.0: Add roam offload state machine changes
Add changes to handle transition to the 2 new states:
1. Roaming in progress: Switch to this state when roam
start notification is received from firmware.
2. Roam Synch in progress: Switch to this from RSO
STARTED state if roam synch indication event is received
from firmware. Change to this state is also allowed in
RSO STOPPED state if supplicant disabled roaming on that
vdev - to allow roam invoke to be processed.

Also query the state machine to get the roaming status instead
of using discrete flags at various layers. Clean the redundant
roaming in progress, roam synch related flags.

Change-Id: Ide20a30d9d8c20a96d8bba70367b51b8643cae09
CRs-Fixed: 2725443
2020-07-10 13:42:21 -07:00
Wu Gao
7a5b681708 qcacld-3.0: Add wow support for TDLS
Prevent wow if TDLS is started, allow wow if TDLS link disabled. This
feature is enabled only if lithium plaform isn't drv supported.

Change-Id: Ie66d62cb139fe9a1d292925a78f2dd861f16ef69
CRs-Fixed: 2716922
2020-07-10 05:38:44 -07:00
Pankaj Singh
9f6679e000 qcacld-3.0: TDLS not releasing the vdev ref taken with WLAN_TDLS_NB_ID
During NAN+TDLS case, when NAN is present dut is trying
to add TDLS peer and the ref is not released which results in
assert due to obj delete timeout.

Fix is to release the ref taken properly in default handing of
tdls serialization cmd and error handling.

Change-ID: Ie3e785f617d320dc88051bf6f22f8e291f120c14
CRs-Fixed: 2728865
2020-07-10 05:38:40 -07:00
Pankaj Singh
f9b5466cb6 qcacld-3.0: TDLS not releasing the vdev ref taken with WLAN_TDLS_NB_ID
During NAN+TDLS case, when NAN is present dut is trying
to add TDLS peer and the ref is not released which results in
assert due to obj delete timeout.

Fix is to release the ref taken properly in default handing of
tdls serialization cmd and error handling.

Change-ID: Ia1ff16fdde7f70e45b712d260c1eca372ceb947e
CRs-Fixed: 2727206
2020-07-09 13:43:27 -07:00
sheenam monga
baca2a3950 qcacld-3.0: Avoid OOB access of weight_list
Currently, function mlme_is_freq_present_in_list calculates
index based on chanel frequency in a loop of num_freq.
But acs_weight array can hold NUM_CHANNELS number of values.
loop index more than NUM_CHANNELS may lead to OOB read issue.

Fix is to add a validation for loop index < NUM_CHANNELS to
avoid any OOB issue.

Change-Id: I3c1d3393cd2a40147c325fea8f76b1db1a51f457
CRs-Fixed: 2727312
2020-07-09 11:32:44 -07:00
Pragaspathi Thilagaraj
65c1c28045 qcacld-3.0: Add initial roam offload state changes
Rename the existing roam offload states to include
WLAN_ prefix. Add 2 new states:
WLAN_ROAMING_IN_PROG - Roaming has started at firmware, this is
                       after candidate selection at firmware.

WLAN_ROAM_SYNCH_IN_PROG - State after handoff is complete at
                          firmware.

Also move the roam_offload_state enum to connection manager.

Change-Id: Ib1f38d200393849253893113172cdfc69e381fb3
CRs-Fixed: 2725387
2020-07-09 03:03:39 -07:00
Srinivas Dasari
c2b4e154f3 qcacld-3.0: Ini bitmap to enable/disable a particular NAN feature
NAN protocol runs in firmware and controlled by framework.
Framework configures multiple NAN discovery params while enabling
NAN. Framework configurations would be based on the framework
constraints or realtime scenarios like resource(memory/power/..)
consumption. But some of these params might need to be controlled
explicitly based on the usage.
NAN DW is one such parameter, which is configured as 4 seconds
when the device is in sync role and the screen is off. But
for some usecases, this param might have to be 512ms always
irrespective of screen off/on for some targets. Add an ini param
"nan_feature_config" to set a bit to indicate firmware whether to
honor framework configured DW value or the firmware default value.
Send the vdev param on NAN supported vdev by setting the "bit 0"
to indicate firmware to allow framework configured DW value.
If this bit is not set, firmware shall consider its default value.

Change-Id: I0476bca2bbe676beccfff207f5b4ea31e89031e2
CRs-Fixed: 2721970
2020-07-08 18:55:48 -07:00
Li Feng
0e6dc924e5 qcacld-3.0: Add ini entry for wow pulse configuration
qcacld-2.0 to qcacld-3.0 propagation

Add ini entry to configure wow pulse repetition count
and wow pulse init level.

Change-Id: Ic23d2ae80f6f0adef9f35bfef5a59eb0220c70ae
CRs-Fixed: 2722997
2020-07-08 06:51:42 -07:00
Abhishek Singh
4b9273d712 qcacld-3.0: use crypto from vdev to fill the scan filter
use crypto from vdev to fill the scan filter.

Change-Id: I2c4bd9b85d9dac14c4d331a84cc7f3307d06818d
CRs-Fixed: 2718080
2020-07-08 00:09:34 -07:00
Wu Gao
acf04962a7 qcacld-3.0: Don't reset connecting TDLS peer to idle state
It resets connecting TDLS peer to idle state, and then won't send
peer delete command to FW, which cause FW break down. So check link
status and avoid to reset connecting TDLS peer to idle state.

Change-Id: I8e8c883c6a517d516f496790350324a4257c9325
CRs-Fixed: 2726207
2020-07-07 21:38:28 -07:00
Pragaspathi Thilagaraj
750e889d9e qcacld-3.0: Send vdev pcl command when STA + STA roaming is active
Send Vdev pcl command on both connected STA vdev when sta+sta
roaming is enabled. Handle below cases:
1. When 1st STA is connected send PDEV pcl command for the
first sta. Set pcl_vdev_cmd_active false.
2. When 2nd STA comes up, Set pcl_vdev_cmd_active to true,
send vdev PCL for 1st sta before enabling roaming(disabled
as part of the connect on 2nd STA).
3. For second STA force dbs connection when
enable_dual_sta_roam_offload ini is enabled. Set the channels
of the 1st connected STA band as invalid and remove these
channels from the scan filter.
4. On disconnection of 2nd STA connection, clear the vdev
PCL sent for 1st STA and then send PDEV pcl command.

Also make changes to send set PCL command after roam init
is done before RSO start is done at firmware to avoid assert.
Post set pcl command from sme/csr through lim/wma/wmi to avoid
the above condition.
Disable roaming on the vdev before sending set PCL command to
avoid roaming on undesirable band & channels.

Change-Id: I6bd869015b7248fe5c5c90b6e2fa0174995be197
CRs-Fixed: 2725360
2020-07-07 16:23:06 -07:00
Pragaspathi Thilagaraj
6b525a4f72 qcacld-3.0: Add support to compile connection manager STA+STA roam API
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.

Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.

Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h

Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
2020-07-07 07:24:47 -07:00
CNSS_WLAN Service
24db0e64d5 Merge "qcacld-3.0: cleanup NAN state upon NAN enable/disable timeout" into wlan-cld3.driver.lnx.2.0 2020-07-03 03:02:19 -07:00
Srinivas Dasari
2586d8f598 qcacld-3.0: cleanup NAN state upon NAN enable/disable timeout
Currently, driver sends NAN enable/disable request to firmware
and waits for the response. NAN state is cleaned up when NAN
disable indication is received. But if firmware doesn't respond to
NAN enable or disable request, a timeout happens and NAN state is
not cleaned up.
Cleanup the NAN state upon timeout for NAN enable/disable request.

Change-Id: Iadfff2b4d010407f04b529ff81b1ce1f11064695
CRs-Fixed: 2723094
2020-07-02 18:23:16 -07:00
Ashish Kumar Dhanotiya
f2ff802b63 qcacld-3.0: Add new scan type SCAN_FOR_SSID for conn_manager infra
Add new scan type SCAN_FOR_SSID to support connection manager
infrastructure.

CRs-Fixed: 2713775
Change-Id: I399f2c5cac0a09b78b6c13786105a9f098922c72
2020-07-02 08:48:05 -07:00