Commit Graph

20005 Commits

Author SHA1 Message Date
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
nshrivas
d001e72975 Release 5.2.0.193C
Release 5.2.0.193C

Change-Id: I90bbffde3d949fcd69e8466ca4808968c6b8c858
CRs-Fixed: 774533
2020-07-08 06:51:42 -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
Sourav Mohapatra
95ea7c675f qcacld-3.0: Limit the number of times get_tx_power can come
Currently in the driver, there is no limit on how many number of times
get_tx_power can be requested by the userspace. This can lead to
potential issues where the firmware crashes due to excessive stats
request.

Add a time based rate limiting logic wherein the function call only
sends request to the firmware once in three seconds. In other cases, it
returns the cached value present in the adapter.

Change-Id: I65f23135d88c66e6438484715dafce3def14ddb3
CRs-Fixed: 2717633
2020-07-08 06:51:38 -07:00
nshrivas
8597091832 Release 5.2.0.193B
Release 5.2.0.193B

Change-Id: Ibaa2fa27dba8abec145a9f2ae4bbbddb14551999
CRs-Fixed: 774533
2020-07-08 04:52:26 -07:00
Yeshwanth Sriram Guntuka
c719f2d546 qcacld-3.0: Parse data stall info for appropriate trigger reason
Data stall info received as part of wmi debug msg flush
event is parsed for all reasons. Since fw populates this
info only when the reason is data_stall_trigger, in all
other cases this info would be garbage values and is sent
to userspace.

Fix is to parse data stall info only for the appropriate
trigger reason.

Change-Id: I70004e5825e67df375e9bc14c2db2a398d860c97
CRs-Fixed: 2724248
2020-07-08 04:52:25 -07:00
nshrivas
1cb73d1aed Release 5.2.0.193A
Release 5.2.0.193A

Change-Id: I52a34ed04aab9278bcf68f730381289968554dd9
CRs-Fixed: 774533
2020-07-08 02:14:07 -07:00
Jinwei Chen
e3c87d96ac qcacld-3.0: refine FISA aggregation
Refine FISA aggregation as below,
(1) add aggregate count checking, if current msdu aggregate count
is not equal to last msdu aggregate count + 1, stop current fisa
flow aggregation.
(2) only if current msdu cumultive ip length is > last
msdu cumultive ip length and <= last msdu cumultive ip length
+ 1478, then continue the FISA aggregation.
(3) support variable GSO size UDP aggregation.

Change-Id: Ie86b46c09b1cd8ca5a5c7ad3c1349d4e0d876203
CRs-Fixed: 2724215
2020-07-08 02:14:07 -07:00
Pragaspathi Thilagaraj
df22e92942 qcacld-3.0: Add support for FILS pmksa caching without ERP keys
For FILS pmksa caching, the STA can use the PMKSA cached as
part of the full 802.1x connection. When FILS PMKSA caching
is used, the supplicant might not send the ERP keys in the
connect request. So add support to allow connection when
ERP keys are not received in connect request but FILS
PMK is present in the cache.
If the PMK cache lookup is successful for the bssid,
use pmksa caching to associate, else fallback to full 802.1x
to associate to the BSS.

Change-Id: I9fa67ee5978b7199da1cb638f7f321baed6e5913
CRs-Fixed: 2710402
2020-07-08 02:14:03 -07:00
nshrivas
b12f188b2c Release 5.2.0.193
Release 5.2.0.193

Change-Id: I54fd0429356c85dca492719b48203a7ba14e0630
CRs-Fixed: 774533
2020-07-08 00:09:38 -07:00
Alan Chen
df0f3aff28 qcacld-3.0: Complete qdf wait events during fw down
Complete qdf wait events during fw down to avoid higher layer timeouts.

Change-Id: Ibb6bb8a3acd9edc488975952c015d6221f737923
CRs-Fixed: 2726398
2020-07-08 00:09:37 -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
nshrivas
cc554981a4 Release 5.2.0.192Z
Release 5.2.0.192Z

Change-Id: I2adda25040dc39b03aed8b896b9733e01b669f81
CRs-Fixed: 774533
2020-07-07 21:38:33 -07:00
Srinivas Girigowda
942799962e qcacld-3.0: Check for NULL pointer before de-referencing it
Pointer 'hif_ctx' returned from call to function 'cds_get_context'
may be NULL. Check for NULL pointer before de-referencing it.

Change-Id: I9d34d877783b35829faf2049c3c8c43519e12914
CRs-Fixed: 2726468
2020-07-07 21:38:33 -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
nshrivas
cc711bcd0b Release 5.2.0.192Y
Release 5.2.0.192Y

Change-Id: Iee069461f4c2b7b525c4b456488e54b894200c6d
CRs-Fixed: 774533
2020-07-07 16:23:10 -07:00
Mahesh Kumar Kalikot Veetil
5552a6e7bf qcacld-3.0: Add microseconds to BUILD_TAG
Some of the post processing tools need high resolution timestamps in the
build tag to differentiate WLAN driver modules in the same build. Add
current time with nanoseconds rounded to the first 6 digits, which is
microseconds. Also fix the 'date' command format.

e.g. date -u +'%F %T.%N %Z'
     2020-06-25T17:40:43.919224370 UTC

Change-Id: Ie2a8af4dad2aead5738a4c710a201fe9674999f7
CRs-Fixed: 2719008
2020-07-07 16:23:09 -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
nshrivas
f4f96bd3b2 Release 5.2.0.192X
Release 5.2.0.192X

Change-Id: I48211db778c21725af4edb2a1c7413d6b3dd5ed9
CRs-Fixed: 774533
2020-07-07 14:16:43 -07:00
Abhishek Ambure
38a8f8bc4e qcacld-3.0: Update RSN intersect capability to FW
A new capability OCVC (Operating Channel Validation Capable) bit in RSN
capabilities provides mutual verification between peers (e.g., AP and
STA) of the current operating channel during security-related exchanges
and channel switches to defend against multi-channel MITM attacks.
FW enables OCV feature only if AP and STA both support it, hence update
RSN intersect capability to FW.

Change-Id: Iedc67287ae6c56c1d609ae599fbb591cdfcb4aa8
CRs-Fixed: 2721176
2020-07-07 14:16:43 -07:00
Pankaj Singh
aa9ab765bf qcacld-3.0: Failure to create pdev before get FW ready event received
During TDLS if SSR occurs then wlan driver is not deleting the tdls host
peer.This lead to tdls peer leak, vdev and pdev ref leak. As pdev is not
deleted after SSR new pdev create fails.

Fix is to remove tdls peer information from host driver during ssr

Change-ID: I9f4c2026821a166fbf38f658c75d93e7409141cc
CRs-Fixed: 2726083
2020-07-07 14:16:37 -07:00
nshrivas
ccbd35f3cd Release 5.2.0.192W
Release 5.2.0.192W

Change-Id: I5dbb8cefda94d586028f6f7c4a3f58b0f8d80d28
CRs-Fixed: 774533
2020-07-07 07:24:48 -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
Chaoli Zhou
275c200717 qcacld-3.0: Fix compile error if disable CONFIG_WDI_EVENT_ENABLE
Do not compile ol_txrx_event.c if set CONFIG_REMOVE_PKT_LOG=y
and CONFIG_WDI_EVENT_ENABLE=n with Hasting

Change-Id: I475e1d4bda818cdef66d961cb95d0193b27029f6
2020-07-07 07:24:43 -07:00
Lin Bai
299a322de1 qcacld-3.0: Use sync method to awake device
Use sync wake when trying to awake device for register
accessing.
This can avoid device re-enter low power mode after
device_wake asserted.

Change-Id: I9ce421be0ecdf05a26388732cc8e15154c57a47a
CRs-Fixed: 2703608
2020-07-07 07:24:39 -07:00
nshrivas
3951d21516 Release 5.2.0.192V
Release 5.2.0.192V

Change-Id: If4a425fdee359d90c58f18134502c1d0dcf7ee81
CRs-Fixed: 774533
2020-07-07 02:53:24 -07:00
Jingxiang Ge
99728132d7 qcacld-3.0: Fix set max power fail issue
it will always return here if find vdev in wma_find_vdev_id_by_addr,
as default value of ret is failure.

Separate lookup vdev for sap/sta mode and check return value.

Change-Id: Ic94c6b25d2a02f9e66ed469bec4cf297d696e2a8
CRs-Fixed: 2721825
2020-07-07 02:53:24 -07:00
nshrivas
46c3208db3 Release 5.2.0.192U
Release 5.2.0.192U

Change-Id: I33b3996c1ff030f2c2ed13cf0dc234c796e030d1
CRs-Fixed: 774533
2020-07-07 00:46:00 -07:00
Ashish Kumar Dhanotiya
a90de0b7b0 qcacld-3.0: Use channel freq apis instead of channel num apis
Currently for get channel list command host driver is using
channel number based APIs to get the channels state which may
result in incorrect state for some of the channels of 4.9GHz
channels as 4.9GHz channels are overlapping with the 2.4 GHz
channels.

To address above issue use the frequency based apis to get the
channel state.

Change-Id: I3d36c5aa73e42f6a6e4d82e1b7f35412b0c600c2
CRs-Fixed: 2721078
2020-07-07 00:46:00 -07:00
nshrivas
ab3f514432 Release 5.2.0.192T
Release 5.2.0.192T

Change-Id: Ic7fafbe58517deebe1338fcc89b090d6e9d7451b
CRs-Fixed: 774533
2020-07-06 19:30:30 -07:00
Sandeep Puligilla
c6d0cb6ece qcacld-3.0: Incorrect phymode sent as part of peer_assoc
Incorrect phy mode sent to firmware as part of the
TDLS connection peer assoc command.

VHT phymode representation for 2G and 5G is different
and host is sending 5G VHT phymode as part of the 2G
TDLS connection peer_assoc command to firmware.

Modified phymode generation logic at WMA for TDLS
connection to populate 'WLAN_PHYMODE_11AC_VHT20_2G'
phymode.

Change-Id: I7867df7f013bc05a182e33495181a099332d1fd5
CRs-Fixed: 2719278
2020-07-06 19:30:30 -07:00
nshrivas
767d39503d Release 5.2.0.192S
Release 5.2.0.192S

Change-Id: I2df0f3049658640144e245d12135cc7499205f7c
CRs-Fixed: 774533
2020-07-06 14:13:55 -07:00
Vevek Venkatesan
7d7f50849d qcacld-3.0: add Runtime PM support and its PLD callbacks
Add PLD functions for Runtime suspend and resume callbacks,
and enable Runtime PM support for Moselle.

Change-Id: Ie990334c0c60892ec0f0ad6fac3253b3d326a919
CRs-Fixed: 2720832
2020-07-06 14:13:55 -07:00
Abhishek Ambure
8500973b30 qcacld-3.0: Don't free sae auth retry frame for invalid auth rsp
In the noisy environment observation is, host sends SAE commit req to
AP and gets SAE commit response from AP, then host sends SAE confirm
req to AP but due to noisy environment AP miss the ack for SAE commit
response and keep sending SAE commit response even host send SAE
confirm. As host cleans SAE auth retry frames on reception of SAE auth
rx from AP, host cleanups SAE auth confirm req and disable SAE auth
retry timer. This leads to SAE auth failure. To avoid this host matches
auth frame's "sae algo sequence number" with last sent auth frame's "sae
algo sequence number", if it matches then only free sae auth retry frame
and deactivate sae auth retry timer.

Change-Id: Ia9ae2e5d82c696efdc0aaf4e04b6760b9829c510
CRs-Fixed: 2720436
2020-07-06 14:13:51 -07:00
nshrivas
8ae1be9cfe Release 5.2.0.192R
Release 5.2.0.192R

Change-Id: I13b9fa5c6fcd297e07a77e734ece5647aa6791d6
CRs-Fixed: 774533
2020-07-06 11:23:04 -07:00
Bapiraju Alla
d42aa6376f qcacld-3.0: Check channel bonding mode to HE 40MHz capability in 2g
Add check to verify channel bonding mode before setting 40MHz
capability in HE 2.4GHz.

Change-Id: I22ca48c984cc833835d22d8b7ecfe8a3e194d406
CRs-Fixed: 2723207
2020-07-06 11:23:04 -07:00
gaurank kathpalia
542723afbe qcacld-3.0: Update proper auth mode in crypto
Update proper authmode in crypto as for WPA/WPA2/WPA3 also
the auth type from connect request can be OPEN.

So check the wpa_ver and other params from the connect
request to determine proper authmode. Also set authmode and
cipher for WAPI mode.

Change-Id: If1b1cb403afdd42277b9cab2f3c931848f49ab25
CRs-Fixed: 2725312
2020-07-06 11:23:00 -07:00
nshrivas
8f786b5d44 Release 5.2.0.192Q
Release 5.2.0.192Q

Change-Id: Ib722cbf29610b9981a6886d5f4e6a1e263246034
CRs-Fixed: 774533
2020-07-06 08:33:56 -07:00
Abhishek Ambure
c21971a90c qcacld-3.0: Do not reset auth retry timer on sae auth tx ack
For SAE auth frames, host configures auth retry timer to 1 second,
if host doesn't get ack for previously sent SAE auth frame then host
retransmit queued SAE auth frame once the periodic auth timer
triggers.
Due to noisy environment host may miss the SAE auth response, in this
case host needs to send queued SAE auth frame. Hence don't reset auth
retry timer on SAE auth TX ack reception.

Change-Id: I96456ce5cbe5fb2acc7005ff1d19c6e9eecc1764
CRs-Fixed: 2725359
2020-07-06 08:33:56 -07:00
Arun Kumar Khandavalli
288bc9d412 qcacld-3.0: Disable the panic on the self-recovery ini disable
Currently once the gEnableSelfRecovery is disabled it is decided to panic
once the firmware complete firmware dump is collected, this has a 
side-effect when the normal SSR is triggered for testing purposes.
This reverts commit Ia184a265d0f76e43d1d5edc4bcc0849a05726dac.

Change-Id: Icec14a2afb902a275ffe0bf202ec75d8e58d9f58
CRs-Fixed: 2725430
2020-07-06 08:33:52 -07:00
Mahesh Kumar Kalikot Veetil
9cc4111452 qcacld-3.0: Add an option to pass build options
Top layer makefile can pass chip specific build options incase of
unified driver build.

Change-Id: I76a9830e56cfefdb3c99ac05fe43071cf5ebccab
CRs-Fixed: 2724605
2020-07-06 08:33:48 -07:00
nshrivas
24f9cd5b9f Release 5.2.0.192P
Release 5.2.0.192P

Change-Id: Iaba7e740635b4b0ae77b1094e63768485a6d8342
CRs-Fixed: 774533
2020-07-06 05:35:17 -07:00
Rakesh Pillai
197e33420a qcacld-3.0: Add vendor cmd attribute to upgrade UDP QoS
Add the vendor command attribute to upgrade the QoS
for all UDP packets having priority less than the
current setting.

Change-Id: I1269018396e163c1a2b02a7ab1cfb3fabfd0af94
CRs-Fixed: 2724041
2020-07-06 05:35:17 -07:00
Rakesh Pillai
f5f6cb8ed9 qcacld-3.0: Upgrade UDP qos based on user setting
Provide the support to upgrade the priority of
UDP packets based on user setting. The user will
set a particular QoS and for any UDP packets, which
has priority lesser than the current setting, the
QoS will be upgrade to the user set value.

The default value for this setting will be Best Effort.

Change-Id: I64207797e9c000d1d6fb757e22b02ee4f96a36f1
CRs-Fixed: 2724041
2020-07-06 05:35:12 -07:00
nshrivas
d862549578 Release 5.2.0.192O
Release 5.2.0.192O

Change-Id: I0f8e661a0ce3343b139932bcc179e0f7cb506540
CRs-Fixed: 774533
2020-07-05 23:13:08 -07:00
Liangwei Dong
cb26ab4de6 qcacld-3.0: Fix ACS invalid defalut channel selected
If the ACS SCAN failed, the API sap_select_default_oper_chan
will select a default channel from ACS scan channel list.
At present sap_select_default_oper_chan doesn't validate the
channel with regulatory. It may select an invalid channel and
report to hostapd. This will happen when driver is doing ACS
scan, the upper layer set different country code and result to
some channels in the acs freq_list become invalid.
Fix by checking the channel supported by regulatory before select
it.

Change-Id: I438b2947ba1fd5388a2472d5122e55edc89229db
CRs-Fixed: 2723689
2020-07-05 23:13:08 -07:00
nshrivas
9994c947c1 Release 5.2.0.192N
Release 5.2.0.192N

Change-Id: I6344570c33b99d111c565a003797863696cc81ec
CRs-Fixed: 774533
2020-07-04 05:00:08 -07:00
Abhishek Ambure
a4d014cdbe qcacld-3.0: Set supported chan width in ht cap of assoc req
For STA in 2.4Ghz band, host adds self HT supported channel width
capability in HT capability field of assoc request.

For WFA certification, expectation is to add self HT supported chan
width capability in HT capability field of assoc request.

Change-Id: I630423de03636e6c4ca07638dce6966c3ca381f9
CRs-Fixed: 2720908
2020-07-04 05:00:08 -07:00
nshrivas
5dfaeb2e22 Release 5.2.0.192M
Release 5.2.0.192M

Change-Id: Idc5dfcfbbbdb4334622c838946efcb7dd63008c6
CRs-Fixed: 774533
2020-07-03 10:51:51 -07:00
Pankaj Singh
b5b8ab03e4 qcacld-3.0: Tdls sta BA session doesn't happen
TDLS Sta not initiating Add BA request or responding to Add BA
request from peer. For TDLS connection, legacy rate is
set to zero even though the peer capabilities supports OFDM rates.
The set of available rates from supplicant is compared with config
and rates is populated, which causes the issue.

Fix is to apply the correct rates provided from supplicant

change-ID: I66ce1b0ee4e5f96f9bb755a40ff7d8c46176087c
CRs-Fixed: 2719391
2020-07-03 10:51:51 -07:00