Commit Graph

108 Commits

Author SHA1 Message Date
Rahul Gusain
38d541df76 qcacld-3.0: Make NAN high priority than TDLS in legacy platforms
Firmware handles all NAN concurrencies in the platforms which
don't advertise the WMI service cabability
WMI_SERVICE_NAN_DISABLE_SUPPORT. Host takes care of the NAN
concurrency if the capability is advertised by firmware.
But there can be some legacy targets where firmware wants to
offload NAN+TDLS concurrency alone to the host and it takes care
of rest of the concurrencies. This is to make NAN of higher
priority and disable TDLS when NAN is active. Currently, TDLS is
of more priority than NAN and it can't change the order as it
can't disable TDLS to change the priority.

Currently, driver doesn't parse the NAN messages(even NAN enable
request) in such platforms. Parse the NAN messages and disable
TDLS upon NAN enable request. Rely on NAN state machine to
allow/disallow new TDLS requests. This needs NAN enable status.

Change-Id: Ie9c7c1cc2f1ed6328a31b93077c2928940fc3450
CRs-Fixed: 3263730
2022-10-26 18:47:42 -07:00
Rahul Gusain
87a052f1f5 qcacld-3.0: Optimize NAN state machine when driver recovers
Currently, host driver sends NAN enable and disable request to
firmware and wait for its response to change the NAN state in
driver. But, when firmware is down (during SSR), driver is in
recovery state and so, timeout occurs while waiting for response.

To fix this, driver does not need to wait for NAN enable/disable
response from firmware in recovery state. It can directly take the
action and change the NAN state machine. Hence, add flag to check
the driver recovery state. If recovery is in progress, then driver
does not wait for firmware NAN enable/ disable responses.

Change-Id: I0325240cc082d8ef91d48793d3da2eea552d59cd
CRs-Fixed: 3307543
2022-10-10 04:32:46 -07:00
Jeff Johnson
56e9a4a4ef qcacld-3.0: components: nan: Fix misspellings
Fix misspellings in components/nan/...

Change-Id: I674974e300e440205676f822d0068e90ae1cc0c8
CRs-Fixed: 3303640
2022-10-07 03:49:24 -07:00
Rahul Gusain
d7b141370b qcacld-3.0: Add null peer check before releasing the peer
Currently in driver, for non-DBS hw mode, null peer is released in the
function ndi_remove_and_update_primary_connection. This causes null
pointer deferencing.

To fix this, add null peer check before releasing the peer.

CRs-Fixed: 3184390
Change-Id: Ia895c8487082e0fac6e7df63d3694fa3e152b355
2022-07-05 19:52:39 -07:00
Rahul Gusain
bfc2c02560 qcacld-3.0: Remove the dependency on NDI name
Currently in driver, NAN Data Interface can be created with
only name "aware_data" which creates dependency on interface name.

To remove the dependency, the interface is created now by name
provided by Wifi-HAL.

For this, interface is created in STA mode with name provided by
WiFi-HAl. While processing  vendor cmd QCA_NL80211_VENDOR_SUBCMD_NDP,
given ifname is searched in adapter list and mode is changed to NDI.

CRs-Fixed: 3196179
Change-Id: I62dd512f8a7de4c69a53babf3112942d348bf3b6
2022-06-13 15:06:26 -07:00
Ashish
4bc1f3cb67 qcacld-3.0: Update data type of iface name to const for NAN
Currently driver code has data type as char* for NAN related code.
With this change update this data type as const char*.
Also, move NAN related functions under WLAN_FEATURE_NAN feature flag.

Change-ID: I61ad10304be4399a68f32778d01d9a951d7d14bb
CRs-Fixed: 3169168
2022-04-11 19:47:10 -07:00
Ashish
cede71c355 qcacld-3.0: Add/del virtual iface using NL commands for NDP
Currently host driver creates/deletes NDI interfaces using
vendor command. With the kernel 5.12 version onwards,
interface creation/deletion is not allowed using vendor
commands as it leads to deadlock when driver tries to acquire
the RTNL_LOCK at the time of netdev register/unregister.

With this change, add support to Create and delete NDI interface
using NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
commands respectively if driver advertises
QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI capability.
Since NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
already comes with the rtnl lock and driver does not need to
take the rtnl lock again which will help to avoid the above issue.

Change-Id: I6d5441a5e883de1222f105f26d73cb0506d16ddf
CRs-Fixed: 3167125
2022-04-11 19:46:27 -07:00
Ashish
4e33f10a0c qcacld-3.0: Do not allow NAN on passive channels
Current NAN is allowed on passive channels which is not
expected as passive channels does not allow initial
trnsmission.

To address above issue, do not allow NAN on passive
channels.

Change-Id: Ied7ba8eb38feb528209cafa6793aed93456989d6
CRs-Fixed: 3157369
2022-04-03 17:56:00 -07:00
Surya Prakash Sivaraj
7fd14302fe qcacld-3.0: Send service id in NDP indication
Send service from wmi_ndp_indication_event_id to the userspace
via the new vendor attribute QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_ID
as part of ndp indication.

Change-Id: I90b4540d5f3c72bbb7e8b542406561daf2a7a869
CRs-fixed: 3128874
2022-03-01 20:41:22 -08:00
Srinivas Dasari
d2a4401675 Revert "qcacld-3.0: Make default value of ndi_max_support as 2"
Enabling ndi_max_support=2 is consuming 4 vdevs + 11 peers
in firmware when STA and NAN(+2 NDIs) are active. Max peers
allowed in firmware are 11 only and this ini configuration is
consuming all of them.
There is no provision/memory for new peer allocation even for
simple use cases like roaming(roaming needs a temporary peer).

Revert this change and set the ini ndi_max_support=2 in target
specific ini files if required to avoid the peer exhaust issue.

This reverts change: Id45147541dba057c2f3420adee43c7a56e3ee72b.

Change-Id: If655b63071b07e96b4e343b8e1bb65acd33be625
CRs-Fixed: 3120555
2022-02-09 13:08:38 -08:00
Jyoti Kumari
b5c156c697 qcacld-3.0: Check MLO STA + NAN + NDP concurrency support
Check MLO STA + NAN + NDP concurrency support. Allow this
combination only If service cap and mlo sta presents.

Change-Id: I6fd0cae227eb8c4096444160b2450ad65dc51c30
CRs-Fixed: 3120645
2022-02-02 17:11:11 -08:00
Jyoti Kumari
e5b79679ef qcacld-3.0: Add MLO STA + NAN + NDI service cap support
Add MLO STA + NAN + NDI service cap support

Change-Id: I736a68552502f5fc1fb498cfd8db6bad99a75b5e
CRs-Fixed: 3120620
2022-02-02 17:11:06 -08:00
Srinivas Dasari
accd92e85d qcacld-3.0: Peer may not be present if NDP confirm fails
NDP peer gets created as part of NDP indication in case of NDP
initiator. But NDP may fail to form due to various reasons and
firmware may send NDP confirm with reject status in such cases
instead of NDP indication event.
Below is the detailed scenario,
1. On initiator side, it has sent an NDP request and is waiting
   for NDP response.
2. On responder side, application/framework is preparing to send
   NDP response with reject due to some config mismatch. At the
   same time, NDP termination is also issued. So NDP termination
   frame is sent successfully.
3. Initiator firmware receives this NDP end and it sends an NDP
   confirm with REJECT to the host and it shall clean-up the
   session.

Currrently, there is a check for the peer existence while
indicating this NDP confirm status to framework. There is no need
of this check in such failure cases as peer is not yet created.

Change-Id: Ibe94a5b67df1ce3d65eaf2ef37b11b08155752c9
CRs-Fixed: 3086975
2022-01-21 15:47:31 -08:00
Srinivas Dasari
69b074e9f9 qcacld-3.0: Make default value of ndi_max_support as 2
Currently, the ini param "ndi_max_support" is set to 1 in the
ini definition though DUT can support maximum 2 NDIs.
Customers need to set the ini param to 2 in ini file
in order to support two NDIs. This ini param value needs
to be maintained across chipsets and android versions,
which is difficult.
Change the default value to 2 to avoid these. If any customer
needs the value to be 1, the same can be set in customer/target
specific ini files.

Change-Id: Id45147541dba057c2f3420adee43c7a56e3ee72b
CRs-Fixed: 3097045
2021-12-28 05:19:17 -08:00
Ashish
fd8abaebdb qcacld-3.0: Enable nan only for VLP channels for 6GHz
Currently for 6GHz, nan is allowed on LPI channels as well,
nan should be allowed only on VLP channels.

With this change allow nan only on VLP channels.

CRs-Fixed: 3072585
Change-Id: Ic8cd8a5ca5c096530762cc0f9d199cef30155838
2021-12-14 14:09:08 -08:00
Bapiraju Alla
6058846058 qcacld-3.0: Fix mem leak with NDP peer multicast address list
Currently, NDP peer multicast address is derived from peer MAC address
and cached in the host. While removing the NDP peer, peer MAC address
is used to search the cached multicast address list. Because of this,
peer multicast address list is not getting freed.

To resolve this, derive peer multicast address from the peer MAC address
while clearing the cached multicast address list.

Since MAX NDP sessions are 8, allocate memory for peer multicast address
list during the NAN vdev private object allocation. This avoids the
special handling for peer multicast list in multiple error scenarios.

Change-Id: Ifbf890a4b9c8be54d84a5b57ed8f6c237ecd51ca
CRs-Fixed: 3085069
2021-12-01 04:22:56 -08:00
Bapiraju Alla
5cf970b5c7 qcacld-3.0: Derive NDP peer multicast address from peer MAC address
Currently, driver is depending on NS frame to be received to configure
peer multicast address for an NDP session. If there is a delay in NS
frame reception, peer multicast address list will be configured to the
FW without actual peer multicast address. Because of this, FW will drop
the NS frame from NDP peer.

To address this, derive peer multicast address from peer MAC address
and include it in multicast address list that is configured to the FW.

Change-Id: I92a575352d592b4001dc4f061e31eb7f592f8445
CRs-Fixed: 3066990
2021-11-24 02:43:52 -08:00
Yu Wang
b4e1e2b18a qcacld-3.0: add concurrency checking for MLO STA
Update the concurrency policy for STA mode.
For an upcoming STA connection:
1. Disallow the 2nd STA connection if multiple STA connections are
   not allowed.
2. Allow the secondary MLO link when primary link is connected.
3. Disallow ML STA when ML STA/SAP is present.
4. Disallow the 3rd STA.
5. Allow for the other cases.

Change-Id: I70c41177b7a3a9aa9cbac0aaced08c6eafca2b6d
CRs-Fixed: 3012577
2021-11-07 22:52:37 -08:00
Srinivas Dasari
36a55492f6 qcacld-3.0: Don't proceed with NDP peer handling if NDI is not UP
Firmware might send NDP peer indication/NDP responder response
while NDI deletion is in progress. Currently, NDP peer entry
gets added though vdev is moved to DOWN state and cleanup is
in progress. This leads to stale peer entry on that NDI vdev
and doesn't allow vdev delete when IFF_DOWN comes, as a peer
is present.
Check the vdev state before creating peer for NDP and skip
peer creation if NDI vdev is not in UP state(which indicates
that the vdev down is happening).
Also, don't process the NDP confirm if NDP peer is not created.

Change-Id: I73e79cc33b1a294e3f4a4a6e2f371033862c5709
CRs-Fixed: 3061756
2021-11-02 06:29:20 -07:00
Srinivas Dasari
742eed43d1 qcacld-3.0: Move nan pdev declaration to right place
pdev is declared in nan_enable_req after a variable-size array.
Place the pdev declaration before the array to avoid corruption
while copying contents to the buffer.

Change-Id: I92766c40909bcecaed5f1eb6e2f015447f3c8221
CRs-Fixed: 3060146
2021-10-21 15:49:02 -07:00
Srinivas Dasari
3d0e41cad1 qcacld-3.0: Abort any ongoing p2p scans while enabling NAN
Framework disables p2p before enabling NAN as P2P+NAN concurrency
is not supported. NAN operations happens through wifihal and p2p
operations happen through wpa_supplicant which are two different
userspace components. Wifihal call to enable NAN may come to host
driver before disabling p2p through wpa_supplicant. There are high
chances for p2p scan to be in running state while NAN enable is
received. Firmware NAN state machine goes to inconsistent state
and disables NAN as p2p scan is running in such cases.
So, stop the ongoing p2p scan before enabling NAN as P2P+NAN
concurrency is not supported currently.
Also, forward the pdev to NAN component inorder to iterate through
all P2P vdevs.

Change-Id: Ibe30a5ebe90514aee4f6721cdc5476570524cad8
CRs-Fixed: 3054576
2021-10-19 16:25:15 -07:00
Srinivas Dasari
b22c118d2a qcacld-3.0: Increase the NDP_END wait timeout to 4 seconds
Currently, host driver expects NDP_END indication from firmware
within 2 seconds after sending request to firmware. Driver shall
timeout and cleanup the corresponding NDP entry if no response is
received within 2 seconds. But firmware may take upto 2.5 seconds
to exhaust the NDP_END frame retries.
So, increase the timeout to 4 seconds to accommodate these retries
and to be inline with current NAN_DISABLE timeout.

Change-Id: Ida1abc25b4ff64aea810c88dbf36f9577b23ffd8
CRs-Fixed: 3002176
2021-07-29 07:41:09 -07:00
Jyoti Kumari
7b38805edc qcacld-3.0: Handle SAP concurrency in CSA and NAN/NDI case
TWT is supported in STA/SAP vdevs and it's allowed only in
DBS/Standalone case and not in SCC/MCC. Disable SAP TWT if
1. Concurrency occurs in SAP + NAN/NDI vdev
2. SCC/MCC occurs after CSA

Change-Id: Id1400bd5555d2f48590d7d3ad7c70162d1dd92fb
CRs-Fixed: 2942959
2021-06-04 00:28:13 -07:00
Srinivas Dasari
3a64788b29 qcacld-3.0: Allocate NDP_END wait context before posting msg
Currently, osif_request_alloc is done and waiting for response
after posting the message NDP_END_REQ. But this may lead to
invalid memory access if message gets processed in scheduler
thread and response also comes before the request is allocated.

Allocate the request before sending message to avoid this.

Change-Id: I88b0a8be229e779526f0f3cf184b191e00872ee8
CRs-Fixed: 2782045
2021-05-31 05:36:08 -07:00
Ashish Kumar Dhanotiya
cc3c67977d qcacld-3.0: Add ini support to enable NAN on indoor channels
Currently there is no  support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
2021-05-26 09:20:42 -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
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
369c4ae107 qcacld-3.0: Store NDI beamform service bit
Store the NAN NDI beamform service bit in the NAN capability struct and
add API to access that value.

Change-Id: I429fc870b5287bd40855b9277d14b19574974a46
CRs-fixed: 2876730
2021-02-18 05:34:58 -08:00
Bapiraju Alla
20da92c02f qcacld-3.0: Add INI parameter to configure NAN in 6GHz
Currently, there is no INI parameter to control NAN feature in 6GHz
frequency band. Because of this, there is no provision to disable the
NAN in 6GHz when there is no requirement.

To address this, add INI parameter to configure NAN feature in 6GHz.

Change-Id: I6b4faa8e8aa1a3df72539fed1d7ff3cc8287debd
CRs-Fixed: 2817920
2020-11-24 15:03:04 -08:00
Amruta Kulkarni
3d08c46bea qcacld-3.0: Add ini for STA + Monitor mode
Add new ini "monitor_mode_concurrency" to support this feature
and introduce policy manager api's for concurrency checks.

Change-Id: I35ee1fece0a6f9ae8fe340b0598c4a3e20b17e82
CRs-Fixed: 2814523
2020-11-19 22:45:59 -08:00
Bapiraju Alla
dc1fe5a7f4 qcacld-3.0: Reduce NDP keep alive time value to 14ms
NDP connection will be active for keep alive period even after receiving
NDP end request. The default value for this keep alive period if 20ms.
update the default value as 14ms to reduce the wait time for connection
termination.

Change-Id: I3d09ce764846d7e535a7369d32a730907b621735
CRs-Fixed: 2802723
2020-10-23 03:52:47 -07:00
Abdul Muqtadeer Ahmed
36d112aeab qcacld-3.0: Change the default value of ini param nan_feature_config
Set nan_feature_config default as 0 from 1 in INI to have DW interval for
NMNS mode when device goes to suspend mode.

Change-Id: Ib0044ca36cba570f51edcc0006f8e54c55d673d3
CRs-Fixed: 2776238
2020-10-09 04:18:52 -07:00
Lincoln Tran
fb4122eb6c qcacld-3.0: Increase NAN response timeout
After sending disable request to FW, it needs some time to
communicate the frame to all NDP connected peers. Increase
the wait time from 1 second to 4 seconds.

Change-Id: Iae36fe007704600a9f29ac7b943ef22fba91b651
CRs-fixed: 2787069
2020-09-30 18:02:38 -07:00
Srinivas Girigowda
d36054fbd2 qcacld-3.0: components: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: If0b9425f82f9ed793c7639c0ed09eb1f868b6d5c
CRs-Fixed: 2781932
2020-09-25 12:59:42 -07:00
Srinivas Dasari
6cc76d41ab qcacld-3.0: Cleanup all NDPs as part of NAN disable
NDPs can exist on an NDI only when the NAN discovery is active.
Currently, firmware sends NDP_END indication for all NDPs when NAN
is disabled. Host driver removes the NDI entry from the policy mgr
based on these NDP_END indications. But firmware might miss to send
the NDP_END indication in some cases though the NDPs are deleted
in firmware. This leads to stale NDI entries in the policy mgr and
it prevents STA connections as NDI+STA without NAN discovery is not
a valid concurrency.
Host driver can remove all NDPs before sending NAN disable request
to firmware to avoid this. This is a blocking call in driver and
wait for the NDP_HOST_UPDATE event from firmware. Cleanup the policy
mgr entries in timeout case as well to avoid further failures due
to unsupported concurrency.

Change-Id: I8df905b7ae4cfe5dfb5affe5b6a3fd478851a453
CRs-Fixed: 2774329
2020-09-11 13:55:31 -07:00
Srinivas Dasari
fb7989e27a qcacld-3.0: Send nan enabled/disabled flag of SRD channels to fw
Check if NAN SRD operation is enabled in the ini
"etsi13_srd_chan_in_master_mode" and send the same to firmware
for all SRD channels.

Change-Id: I2aa8fd34c67b2061963b62a34d29c73740af3a76
CRs-Fixed: 2748455
2020-08-27 18:36:59 -07:00
Srinivas Girigowda
f375188704 qcacld-3.0: components: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2752355
Change-Id: I2d776be789df3e83e0c13211844b66d595498829
2020-08-22 16:00:40 -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
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
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
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
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
Srinivas Dasari
662a62841c qcacld-3.0: Don't create wifi-aware0 interface if NAN is not supported
Currently, NAN discovery interface(wifi-aware0) is created if both
host and firmware support NAN separate vdev feature. But NAN
feature capability(gEnableNanSupport) is the master of these
capabilities. Don't create wifi-aware0 if gEnableNanSupport is
disabled.
Also, don't allow NAN iface creation for the kernels less
than 4.14 as NAN interface is allowed by kernel only from 4.14.

Change-Id: Iaf10974c373b2a77d2c24a78540910f78a3dc768
CRs-Fixed: 2706997
2020-06-10 18:13:36 -07:00
Abhishek Ambure
9e3400ac77 qcacld-3.0: Add support to configure max ndi host supports
Introduce INI "ndi_max_support" to configure max number of ndi
interfaces host supports. Host configures max number of ndi
interfaces support in firmware using WMI_INIT_CMD.

Change-Id: I287b9f96b98103e67cf35d0c02488a28af731044
CRs-Fixed: 2701557
2020-06-10 07:25:54 -07:00
Ashish Kumar Dhanotiya
9f588185d9 qcacld-3.0: Add connect id for the connection manager
Add connect id in the policy manager for the newly designed
connection manager infrastructure.

Change-Id: Ib7bd08e5326ead04da88175636777bf5dd4e255b
CRs-FIxed: 2705700
2020-06-09 14:30:38 -07:00
Abhishek Ambure
a6afc073d0 qcacld-3.0: Add ini support to configure max ndp sessions in fw
Introduce INI "ndp_max_sessions" to configure max number of ndp
sessions host supports. Firmware advertises max number of ndp
sessions supported in wmi_service_ready_ext2 event. If the firmware
advertises non-zero value of max ndp sessions then host configures
max ndp sessions support in firmware using WMI_INIT_CMD.

Host uses a minimum of "ndp_max_sessions" value and firmware
advertised max ndp session value to configure max number of ndp
sessions in firmware.

Change-Id: I613815f384f9b0a61711324c85ecfa095d133360
CRs-Fixed: 2673120
2020-06-08 16:00:50 -07:00
Lincoln Tran
aa5716f95f qcacld-3.0: Update nan_discovery_flush_callback
Update return type of nan_discovery_flush_callback to return
QDF_STATUS to match scheduler_msg_process_fn_t.

Change-Id: I3a2c32beaff471ed3a2e8e3956292257e074cd50
CRs-fixed: 2698305
2020-06-01 23:13:23 -07:00
Srinivas Dasari
9484e68614 qcacld-3.0: Don't limit the max NDPs with a peer in host
Currently, host allows maximum MAX_NDP_INSTANCES_PER_PEER(2) NDPs
per peer. Framework may need more NDPs with the same peer when
multiple NDP applications are running. Firmware shall allow/reject
an NDP based on the max number of NDP connections allowed per peer.
It's platform specific and firmware shall take care of it.
Remove the check in host which limits this.

Change-Id: Ic43f6e2588a8ed8ffd7c8bb87d9b5656352e5cf7
CRs-Fixed: 2684987
2020-05-21 14:13:36 -07:00