Commit Graph

20980 Commits

Author SHA1 Message Date
Srinivas Girigowda
6e3a682e18 qcacld-3.0: Remove logs for hdd_validate_adapter() checks
hdd_validate_adapter() function already takes care of logging
the caller function name in case of any error. Hence there is no need to
add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: I8e3b3c8c5c83c84c862c501b7c8650f55886bb7f
CRs-Fixed: 2770359
2020-09-16 09:30:16 -07:00
snandini
0c96f7db08 Release 5.2.0.202W
Release 5.2.0.202W

Change-Id: I4da720fe713efa8a118a8834397648227e05a3b5
CRs-Fixed: 774533
2020-09-16 07:11:04 -07:00
Sandeep Puligilla
e3165a6d74 qcacld-3.0: Send WLAN_IF_MGR_EV_CONNECT_START event
Add support for WLAN_IF_MGR_EV_CONNECT_START
event.

Change-Id: I09c98f60a0ab4a190d35c7c1a0e73b605216aae1
CRs-Fixed: 2774321
2020-09-16 07:11:03 -07:00
Srinivas Girigowda
a3e792efe9 qcacld-3.0: Remove logs for wlan_hdd_validate_vdev_id() checks
wlan_hdd_validate_vdev_id() function already takes care of logging
the caller function name in case of any error. Hence there is no need to
add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: Ic42aeacb4ed55cece038fe8cef8cde0df2ae6c4d
CRs-Fixed: 2769596
2020-09-16 07:11:00 -07:00
Visweswara Tanuku
773d597688 qcacld-3.0: Rate limit NAN error log messages
Rate limit NAN error log messages, to avoid flooding
the host log when NAN is not enabled

Change-Id: I091c9dff9115b77afa8c59e4d3fab748b30c0ee6
CRs-Fixed: 2777027
2020-09-16 07:10:56 -07:00
snandini
82ee11e4af Release 5.2.0.202W
Release 5.2.0.202W

Change-Id: I0fafdd752ef220d0c93bf3af870307ac9e5064b9
CRs-Fixed: 774533
2020-09-16 04:51:30 -07:00
Karthik Kantamneni
a077a93f29 qcacld-3.0: Enable qdf frag API's support
Currently qdf frag API's are not compiled, enabled those
API's compilation since they are used in DP TX frag path.

Change-Id: Iadd0710beb2220fb560b8873a3a8736b6a66b7ca
CRs-Fixed: 2777139
2020-09-16 04:51:30 -07:00
Abhinav Kumar
33fdd1fac0 qcacld-3.0: Remove unused roam ini gRoamBeaconRssiWeight
Currently, gRoamBeaconRssiWeight is not used in HOST or
FW.

Remove unused roam ini param gRoamBeaconRssiWeight.

Change-Id: Ida6ddb8ca5805f819c4d3f7e6ed96c705fa6594f
CRs-Fixed: 2767533
2020-09-16 04:51:26 -07:00
Abhishek Ambure
23ec077ed4 qcacld-3.0: Update user PS config after STA connection
For the user power save enable/disable request, host doesn't send power
config to FW if STA is not in connected state. Host remembers users power
save config in MAC context's "usr_cfg_ps_enable" member. So use this
"usr_cfg_ps_enable" to send power save config to FW after STA associates
to AP.
Problem scenario:
1) User brings STA interface up and sends power save enable to host.
2) As kernel expects power save config command success even in the STA is
   in disconnected state, host doesn't send power save config to FW and
   returns success to kernel.
3) If user doesn't send power save enable command to host after STA
   connects to AP. STA remains in full power mode.
Fix:
1) Use "usr_cfg_ps_enable" to send power save config to FW after STA
   connects to AP.

Change-Id: I412567e2bb40a7b2d9566106e50a422f173a86d1
CRs-Fixed: 2767543
2020-09-16 04:51:22 -07:00
snandini
d0fef5e891 Release 5.2.0.202V
Release 5.2.0.202V

Change-Id: I02a1be692c6f7d869fbdecc8d3972db2d630fe09
CRs-Fixed: 774533
2020-09-15 23:03:46 -07:00
Will Huang
3930c36458 qcacld-3.0: Put install key after associate complete for FT roam
If FT roam with LFR2.0 enabled, pre-auth/reassociate happen in host,
PTK will be installed early after pre-auth negotiation, so need put it
after association complete, but currently we only save PTK key material
and don't install it.

Because crypto was converged and original eWNI_SME_FT_UPDATE_KEY has
been removed, move delayed installing key after association complete
notified at hdd layer, rather than in function wma_add_sta_req_sta_mode
at wma layer. And remove useless code related with original FT key
installing.

Change-Id: I3bc52b65d17342edab755f7904d743c3433f99ce
CRs-Fixed: 2768307
2020-09-15 23:03:46 -07:00
Ashish Kumar Dhanotiya
4218ed940a qcacld-3.0: Update rate flags correctly
Currently driver does not update the rate flags correctly
in wma as rate flags should include all the subsets of the
lower rate sets, which is not the case today and driver only
updates the higher rate flag. Because of which it leads to
invalid computation of txrate at the kernel.

To address this issue, update the rate flags correctly in
wma.

Change-Id: I5529532b3d41b68693b5b4b8952ee0f1414354db
CRs-Fixed: 2776370
2020-09-15 23:03:42 -07:00
Jianmin Zhu
ab5f515803 qcacld-3.0: Pass rx data rssi triggers to F/W
Pass rx data rssi triggers and rx time to firmware.
Add log in wmi to narrow down host and firmware issue.

Change-Id: I255e02ab8f2c88a29619a49d9c2055bdaa75642a
CRs-Fixed: 2768053
2020-09-15 23:03:37 -07:00
snandini
2716b661eb Release 5.2.0.202U
Release 5.2.0.202U

Change-Id: I8649851aead9296fcc5e189f82de9a3ea9cf21ed
CRs-Fixed: 774533
2020-09-15 18:24:19 -07:00
Abhishek Ambure
27a435f023 qcacld-3.0: Add OMN IE in assoc req only if CH BW is 20MHz
Host adds OMN IE in assoc request only if the AP advertises
OMN IE and host supports VHT. Adding OMN IE in assoc request
helps to overcome low throughput issue incase of IOT APs where
host supports VHT and 20MHz bandwidth only.
Hence add OMN IE in assoc request when host supports VHT and
20MHz bandwidth only.

Change-Id: I32294b0f10b6750147b835853cde34e384782db9
CRs-Fixed: 2768230
2020-09-15 18:24:19 -07:00
snandini
187c4ab86f Release 5.2.0.202T
Release 5.2.0.202T

Change-Id: I8b13c61d4a9330fe9fc573abda25e9a3fae95c73
CRs-Fixed: 774533
2020-09-15 16:01:10 -07:00
sheenam monga
bf5047bfb8 qcacld-3.0: Validate beacon before acessing he_cap
Issue: Currently, beacon presence validation is missing
and beacon->he_cap is validated which may cause null pointer
dereference in case he caps in assoc response and beacon both
are misssing.

Fix: Validate beacon piror to access of beacon->he_cap to avoid
null pointer dereference.

Change-Id: Ie8d41df3a9769897aba3c3c304ac2fa2abaf7950
CRs-Fixed: 2775366
2020-09-15 16:01:10 -07:00
Madhvapathi Sriram
e4e3cb700c qcacld-3.0: Check for valid mlme_psoc_obj
The mlme_psoc_obj must be checked for before access.

Change-Id: I043126765a9c5bf4cb42d3f9f35e3a7d5a694611
CRs-Fixed: 2775388
2020-09-15 16:01:06 -07:00
Karthik Kantamneni
697d229fd6 qcacld-3.0: Post data stall event properly during NUD failure
When cfg80211_get_nud_stats is called post data stall
event only if NUD tracking is disabled in host driver.

When NUD failure is honoured in host driver post
data stall event before disconnection.

Change-Id: Ia366e539cb1674354e16c1086255804a244f34d6
CRs-Fixed: 2765557
2020-09-15 16:01:02 -07:00
snandini
fa28e74a83 Release 5.2.0.202S
Release 5.2.0.202S

Change-Id: I4022e25618a5acfa9d1690f6fd9fd539aa3972ba
CRs-Fixed: 774533
2020-09-15 11:38:32 -07:00
Nisha Menon
d5f0559bbb qcacld-3.0: Disable ipa ready registration in FTM mode
In FTM mode do not register callback with IPA driver
to check if IPA is ready.
IPA offload is not supported in FTM mode.

Change-Id: I9d36f3085db72d3ffe9e6080f422618f7a531c01
CRs-Fixed: 2772192
2020-09-15 11:38:32 -07:00
Liangwei Dong
662bade898 qcacld-3.0: Add INI to configure thermal action
There is customer requirement that once wifi chip overheat,
we should switch the tx chain mask to 1X1 to cool down the
chip instead of halting the tx completely.
Add new INI gThermalMgmtAction to configure thermal mgmt action
with default 0. The valid thermal mgmt action INI value is defined
as enum thermal_mgmt_action_code. To set it to 3 -
THERMAL_MGMT_ACTION_CHAINSCALING to meet customer requirement.

Change-Id: I88b1237fae1f476ad9ff0e7b5a469ec314a42bf9
CRs-Fixed: 2765289
2020-09-15 11:38:26 -07:00
snandini
af475b303e Release 5.2.0.202R
Release 5.2.0.202R

Change-Id: Ic4cdefe55c442b1ae57b3cdb3905a76feb9d9168
CRs-Fixed: 774533
2020-09-15 09:28:44 -07:00
Yeshwanth Sriram Guntuka
843e288336 qcacld-3.0: Fix possible NULL pointer dereference
Pointers returned by wlan_ipa_get_iface API and
cds_get_context API are not NULL validated at few
places. Add NULL checks for these pointers to avoid
possible NULL pointer dereference.

Change-Id: I44f226c2ce97afd6ad2ff9cde5cd70d9d12bc3d2
CRs-Fixed: 2775197
2020-09-15 09:28:43 -07:00
Jia Ding
0358fd452a qcacld-3.0: Provide soc handle and pdev id for IPA cleanup
To do SMMU unmap for IPA TX and RX doorbell registers, provide
soc handle and pdev id to CDP layer.

Change-Id: I6e4fcc7d96d3dabe9dcbb85b9d7193e898d9a73e
CRs-Fixed: 2768306
2020-09-15 09:28:40 -07:00
snandini
21fcc793eb Release 5.2.0.202Q
Release 5.2.0.202Q

Change-Id: Icad079527bf2ab67d9d6fa2ea08e142134836ba3
CRs-Fixed: 774533
2020-09-15 07:19:34 -07:00
Abhinav Kumar
7ac893f2af qcacld-3.0: Add a new INI bg_rssi_threshold
FW triggers roaming based on the RSSI score of AP(s) available
after background scan. Currently, the host does not configure
the value of bg_rssi_threshold RSSI. This results in ping-pong
roaming after background scan, even though candidate AP
RSSI is not better than 5dbm than connected AP.

Fix is to configure the value of bg_rssi_threshold via new
INI "bg_rssi_threshold" and configuring default value of
INI as 5dB.

Min: 0
Max: 100
Default: 5

Change-Id: Ib710e294c8b33ff4903d41453e3b55f02daf53ae
CRs-Fixed: 2763962
2020-09-15 07:19:33 -07:00
snandini
e0d7d0e692 Release 5.2.0.202P
Release 5.2.0.202P

Change-Id: If221fc3a15e7b16fbef72c4df86d9d6e4e75433c
CRs-Fixed: 774533
2020-09-15 04:59:25 -07:00
Abhishek Ambure
2813eaa802 qcacld-3.0: Add support for SAE-PK roam scoring
SAE Public Key (SAE-PK) authentication is an extension of SAE. Host adds
support for SAE-PK APs roam score which host uses to select AP for initial
connection and roaming.

Change-Id: Id8c420950bb8c1d11db5a26aa860e280bcb672d1
CRs-Fixed: 2769372
2020-09-15 04:59:24 -07:00
Alan Chen
387298825a qcacld-3.0: Add declaration for btc_chain_mode_policy
The BTC_CHAIN_MODE command policy table is missing its declaration in the
.h file. Add the declaration to resolve the compilation issues.

Change-Id: I5bdd54dc9c3488054bafabd772f4f8b375fe50fa
CRs-Fixed: 2773241
2020-09-15 04:59:20 -07:00
wadesong
fae1b8966e qcacld-3.0: Fix some kw warnings
In function hdd_process_genie(), pointers like encrypt_type
and mc_encrypt_type should be validated before getting
dereferenced.

Add pointer validation before every dereferencing takes place.

Change-Id: Ib894153ddac3e75fae5e0e7798b705ac5951ea17
CRs-Fixed: 2775378
2020-09-15 04:59:16 -07:00
snandini
db3710b638 Release 5.2.0.202O
Release 5.2.0.202O

Change-Id: I17188e649e710396201f65a503606c6b023cc811
CRs-Fixed: 774533
2020-09-15 00:41:36 -07:00
Abhishek Ambure
5ccc3d2dcc qcacld-3.0: Generate the IV and repeat until it is non-zero
If the IV value is zero then some IOT APs fail to decrypt WEP AUTH frame
hence host gets random value of IV using qdf_get_random_bytes().
Presently host checks if the IV is non-zero value in "seed" which is local
uninitialized variable, static analysis tool reports an error "seed array
elements are used uninitiated".
In order to address both these issues, generate the IV using
qdf_get_random_bytes() first and if it is zero, then repeat
invoking qdf_get_random_bytes() until it is non-zero.

Change-Id: Ib211e58ebe21d49ab1dc693ee8a6cad9bfd25ae8
CRs-Fixed: 2775943
2020-09-15 00:41:36 -07:00
snandini
d15168e897 Release 5.2.0.202N
Release 5.2.0.202N

Change-Id: I634a14cf07f7c91a621332226d62d6d51c6a3b7c
CRs-Fixed: 774533
2020-09-14 09:55:15 -07:00
Pragaspathi Thilagaraj
4bfed04ab4 qcacld-3.0: Fix RSSI_CHANGE command values
Move the rssi change vdev params initialization to
csr_neighbor_roam_info_ctx_init() so that vdev priv object will
be created and per vdev parameters are saved and proper values
are sent to firmware.

Change-Id: I87c8272d89f431fa3db60beed4d1da6d9790ec28
CRs-Fixed: 2774826
2020-09-14 09:55:14 -07:00
Amruta Kulkarni
ea53232656 qcacld-3.0: Enable roaming on interface mgr
- Use sme roaming api's instead of converged
 roaming api's.
- Add debug logs in if mgr api's.
- Fix typo in Kbuild file.
- Fix compilation errors.
- Fix comments for readability.
- Update disconnect functions so parameter type matches.

Change-Id: Ia0adf6f79036e9348bf4ebb6237a5e25ef813a21
CRs-Fixed: 2774509
2020-09-14 09:55:10 -07:00
Wu Gao
56afad67cb qcacld-3.0: Set current mode properly for TDLS
This change fixes two issues about TDLS:
    1. It updates current mode only if tdls vdev object is NULL.
    2. Handles pre-scan callback but ignore scan done callback if device
       type isn't station or P2P client.

Change-Id: I4badbf3a7c40eca813a6360817d5483be88f2c5d
CRs-Fixed: 2769638
2020-09-14 09:55:07 -07:00
snandini
a81c16eb92 Release 5.2.0.202M
Release 5.2.0.202M

Change-Id: I40211911d751c73a67be277e4c036e058ef0e61e
CRs-Fixed: 774533
2020-09-14 01:13:43 -07:00
Visweswara Tanuku
c9547d2105 qcacld-3.0: Validate TWT setup cmd/request type value
Validate TWT setup request type value obtained from
user space, before sending down to fw

Change-Id: I820f4912bafb84b76583ac9ed1cd88f59ea9fb3d
CRs-Fixed: 2770628
2020-09-14 01:13:43 -07:00
snandini
95ec1289e5 Release 5.2.0.202L
Release 5.2.0.202L

Change-Id: I8808ee0b5bd15c92519e67a5a5609922a82e1f87
CRs-Fixed: 774533
2020-09-13 22:31:33 -07:00
Jinwei Chen
a11d408201 qcacld-3.0: remove pktlog feature for lithium based target
For lithium based target, rx pktlog depends on monitor status ring
and this ring is reaped by timer in host. if host try to disable
pktlog and high DL T-put traffic is ongoing in parallel, there is
no guarantee that HW stop to update PPDU status to monitor status
ring after host stopped reaping timer, unless host add some delay
between HTT ring reset msg and timer stopping, then FW will have
enough time to reset ring configuration.
Since FW side has disabled pktlog and looks pktlog is not necessary
for lithium based target, remove pktlog support by macro
FEATURE_PKTLOG, macro REMOVE_PKT_LOG is not preferred as it will
remove WDI_EVENT support that impact CFR feature.

Change-Id: I723f65ba3d2ffa58469b886e6795956f69d4e891
CRs-Fixed: 2763095
2020-09-13 22:31:33 -07:00
snandini
a34969e63d Release 5.2.0.202K
Release 5.2.0.202K

Change-Id: I15fccc3b27e5cfadbad2aca67ed98786bc80aedc
CRs-Fixed: 774533
2020-09-13 14:58:18 -07:00
Ananya Gupta
6fed9a7bd3 qcacld-3.0: Take in ini value of RPS as string
ini string value of RPS,rpsRxQueueCpuMapList is directly
pushed in hdd_context->config->cpu_map_list. Default value
is set as "e". During RPS enablement,
hdd_hex_string_to_u16_array converts this string into u16
array which is used for cpu mapping of RX queues for RPS.

Change-Id: I352bf7c5b16f61e17d918ceec53b0bcd47eecfba
CRs-Fixed: 2761785
2020-09-13 14:58:18 -07:00
snandini
e5fb7d7e5a Release 5.2.0.202J
Release 5.2.0.202J

Change-Id: I9fdf7f13b11aa917010c6065fd6f752903f374e4
CRs-Fixed: 774533
2020-09-12 08:17:12 -07:00
Gururaj Pandurangi
c199935f4b qcacld-3.0: Add checks to handle return value from crypto APIs
Add checks in caller APIs to handle negative return value from
crypto get param and crypto get peer param APIs.

Change-Id: Ibb138971f347c7ccdacbc93aa38521d5d9536759
CRs-Fixed: 2775328
2020-09-12 08:17:11 -07:00
snandini
9a760e30d3 Release 5.2.0.202I
Release 5.2.0.202I

Change-Id: I5f4cac0701a96b114a12ae3ff771b5ed85b6c278
CRs-Fixed: 774533
2020-09-12 06:13:08 -07:00
Subrat Dash
ec2d8ab7ff qcacld-3.0: Enable UAPSD when TWT requster mode is disabled
The csr_enable_twt() returns true when the fw is 802.11ax
capable. This lead to failure of UAPSD even though the twt
requested mode is disabled throgh ini.

Fix the logic in the csr_enable_twt() to enable UAPSD when
the twt requester mode is disabled.

Change-Id: I5338b95b66312337d6b8befe700f31f3e214b7b1
CRs-Fixed: 2765999
2020-09-12 06:13:07 -07:00
snandini
99017b0cfe Release 5.2.0.202H
Release 5.2.0.202H

Change-Id: Idc406fb51bb8d426283a0b57cd8974cc0f2d4dc7
CRs-Fixed: 774533
2020-09-12 01:59:43 -07:00
Lincoln Tran
53f7903389 qcacld-3.0: Add candidate validation to the if_mgr
Add the API to validate the BSS before roaming to it. This API will check
if other vdevs are already connected to the BSS, if concurrency is allowed,
and if channel is allowed for the current HW mode.
Keep the new changes under the interface_mgr feature flag.

Change-Id: I280e95b0a30c08fe4037295330628b79d22acf5f
CRs-fixed: 2774543
2020-09-12 01:59:43 -07:00
Amar Singhal
c89446a515 qcacld-3.0: Use correct size for frequency list
Frequency list elements should be 2 octets, not one octet. Fix this.

Change-Id: I981d3bd23464fc83506c512338e5fb22637272cd
CRs-Fixed: 2775226
2020-09-12 01:59:38 -07:00