Commit graph

8,849 commits

Author SHA1 Message Date
Dustin Brown
d005ad89da qcacld-3.0: revert "close all adapters before module stop"
This reverts I18ceba26bb6aab634da91a14cc6890a7b7bd836f. The issue
resolved by that change is addressed more appropriately by
Iaa1934594d5ffcf3b90dd2ad41bba4eb62f71119.

Change-Id: I9531c2afcf25f9a8a97eb8ec9ee90c4cf3d278a0
CRs-Fixed: 2175578
2018-01-20 03:20:53 -08:00
snandini
5dd446552c Release 5.2.0.62G
Release 5.2.0.62G

Change-Id: Id8aa3d63a9ff14156bd0059445321ae832863887
CRs-Fixed: 774533
2018-01-20 01:44:59 -08:00
Naveen Rawat
7154974018 qcacld-3.0: NAN datapath cleanup
Cleanup NAN datapath legacy code left after NAN componentization

Change-Id: I5828002d2363e01f63b0a643a0c59abd52bc4f19
CRs-Fixed: 2117687
2018-01-20 01:44:58 -08:00
Kabilan Kannan
b4e01373c4 qcacld-3.0: Remove the incorrect log in TDLS peer delete
TDLS peer data structures can be cleared in WMA/WMI
peer deletion operation. So the TDLS peer may not be
available, when HDD tries to deregister TDLS
station, and it is not an error condition.
Remove the error log in TDLS sta deregister
function.

Change-Id: I72ebe12749eab2fe50011cf03b5cbad5dd1d9381
CRs-Fixed: 2171335
2018-01-20 01:44:56 -08:00
snandini
e339859ac9 Release 5.2.0.62F
Release 5.2.0.62F

Change-Id: I42586e6c5336f1f7ad7b8198493b6b79f4356c60
CRs-Fixed: 774533
2018-01-19 15:42:44 -08:00
Vignesh Viswanathan
c279230cfc qcacld-3.0: Fix potential OOB read in wma_populate_soc_caps
In function wma_populate_soc_caps, param_buf is received from the FW and
soc_hw_mode_caps->num_hw_modes denotes the number of HW mode capabilities
included under hw_mode_caps. However, the actual length of the
hw_mode_caps buffer filled by the FW is num_hw_mode_caps.
If the value of soc_hw_mode_caps->num_hw_modes is greater than
num_hw_mode_caps, then an OOB read would occur while copying the FW buffer
for hw_mode_caps.

Similarly, soc_hal_reg_caps->num_phy denotes the number of hal_reg_caps
included in the FW buffer. However the actual length of the hal_reg_caps
is num_hal_reg_caps. If the value of soc_hal_reg_caps->num_phy is greater
than num_hal_reg_caps, an OOB read would occur.

Add checks to make sure soc_hw_mode_caps->num_hw_modes is not greater
than num_hw_mode_caps.
Also add check to make sure soc_hal_reg_caps->num_phy is not greater
than num_hal_reg_caps.

Change-Id: I3accffca3fc83f7e614d8f9a5bb850733a508ff7
CRs-Fixed: 2160423
2018-01-19 15:42:44 -08:00
snandini
a5aa2e3fec Release 5.2.0.62E
Release 5.2.0.62E

Change-Id: Idca23291e1c70830ed34ef1345acd8fe1a32e71f
CRs-Fixed: 774533
2018-01-19 11:40:16 -08:00
Jingxiang Ge
b49aa305d6 qcacld-3.0: Fix memleak for pm runtime suspend lock
For wlan0/p2p0, connect_rpm_ctx is deinit in
hdd_cleanup_adapter.
In two cases, memleak will be detected.
1 if stop modules is triggered from __hdd_stop
   turn on/off wifi, wait iface_change_wait_time
2 if stop modules is triggered from wlan_hdd_startup
   when booting wifi, stay idle, wait iface_change_wait_time

As hdd_cleanup_adapter is only happens when rmmod, so it
doesn't satisfy LONU memleak detection.

Move connect_rpm_ctx from adapter to hdd_context, and
init/deinit following with module start/stop.

Change-Id: Iaa1934594d5ffcf3b90dd2ad41bba4eb62f71119
CRs-Fixed: 2169828
2018-01-19 11:40:15 -08:00
snandini
a6e39a29e4 Release 5.2.0.62D
Release 5.2.0.62D

Change-Id: I8f5c1583e291fcb861a1d214e4b174e2cce7df77
CRs-Fixed: 774533
2018-01-19 05:24:46 -08:00
Zhu Jianmin
51d4f74b59 qcacld-3.0: Fix mem leak when LFR2 on same channel during MCC sessions
If there are 2 pe sessions in diff channels, e.g: P2P Go+STA,
even STA LFR2 roam to AP of same channel, pre-auth req treats
as on diff channel, but pre-auth rsp treats as same channel,
them both lim_handle_ft_pre_auth_rsp and scan complete event
handler call lim_ft_process_pre_auth_result
->lim_ft_setup_auth_session->lim_ft_prepare_add_bss_req
pftSessionEntry->ftPEContext.pAddBssReq is malloced twice,
1st is leaked.

Change-Id: Iddf083785136c75da4a06038264744313e8d4b39
CRs-Fixed: 2168890
2018-01-19 05:24:46 -08:00
Tang Yingying
bfc451f8ef qcacld-3.0: Set RX thread CPU affinity to all online perf core
Currently cld driver will attach RX thread to only the last perf core when
there is high t-put requirement. If some other processes are scheduled to
the last core,RX thread will be scheduled slowly. Add fix to set RX thread
CPU affinity to all online perf core to improve the RX t-put.

Change-Id: Ib5b56ddea1498df92dd09a1cbc6800cab415a3f3
CRs-Fixed: 2167475
2018-01-19 05:24:43 -08:00
Min Liu
ab6ed4f112 qcacld-3.0: Fix NULL pointer and related issues
Fix for the following issues:

NULL pointer dereference
  - hdd_update_acs_channel
  - __wlan_hdd_cfg80211_update_vendor_channel

Uninitialized return value
  - hdd_is_fils_connection
  - wlan_hdd_cfg80211_wifi_set_reorder_timeout
  - wlan_hdd_cfg80211_wifi_set_rx_blocksize
  - __wlan_hdd_cfg80211_connect

Change-Id: I765d2324617262610236531bf7fe2f4043387df4
CRs-Fixed: 2168936
2018-01-19 05:24:41 -08:00
snandini
8f33fda690 Release 5.2.0.62C
Release 5.2.0.62C

Change-Id: Iac320320f74882f0f85a2c065fef8cb44c5635e8
CRs-Fixed: 774533
2018-01-19 03:55:07 -08:00
Padma, Santhosh Kumar
2b1e57ed75 qcacld-3.0: Disable roaming for SAE
SAE is supported only for fresh connection. Hence, disable roaming
for SAE.

Change-Id: I53a03a3ea2955a7a8e67105f24e01e19a72be72c
CRs-Fixed: 2029357
2018-01-19 03:55:06 -08:00
Padma, Santhosh Kumar
b8f65d96b6 qcacld-3.0: Changes to support PMK caching for SAE
Add changes to support PMK caching for SAE authentication

Change-Id: Id8f48a184fe40d1327b65235156d3798cfda585f
CRs-Fixed: 2029357
2018-01-19 03:55:03 -08:00
Padma, Santhosh Kumar
dd3f48598d qcacld-3.0: Add changes to handle SAE status
After SAE auth completion, supplicant informs status to driver.
Add changes to handle SAE status that comes through vendor
command QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_AUTH using attribute
QCA_ATTR_EXTERNAL_AUTH_STATUS.

Change-Id: I474cfe9ea049e684837133479f8b6697fef1f189
CRs-Fixed: 2029357
2018-01-19 03:55:00 -08:00
Padma, Santhosh Kumar
c56735fe68 qcacld-3.0: Add SAE auth timer
Add changes related to SAE auth timer to handle SAE authentication.
Start SAE auth timer of duration LIM_AUTH_SAE_TIMER_MS when driver
wants to trigger SAE authentication. If SAE authentication is not
completed in LIM_AUTH_SAE_TIMER_MS, then report failure to
supplicant.

Change-Id: I65f0cb01faa1194c133013eaea4a5d8554a045d2
CRs-Fixed: 2029357
2018-01-19 03:54:58 -08:00
Padma, Santhosh Kumar
1ccc133bf4 qcacld-3.0: Add changes to send SAE auth frame to user space
Add changes to send authentication response frame to user space
when authentication type is SAE.

Change-Id: I0b28b7550d629d6fe9f5661538ea71687f5dd989
CRs-Fixed: 2029357
2018-01-19 03:54:55 -08:00
Padma, Santhosh Kumar
22c462c648 qcacld-3.0: Add changes for auth in send mgmt path
Add changes to support authentication in send mgmt path.
With these changes, supplicant/upper layer can send authentication
frame for station mode.

Change-Id: I6807f49acc9284e69c6362e07a583ff26f15edca
CRs-Fixed: 2029357
2018-01-19 03:54:52 -08:00
Padma, Santhosh Kumar
b38ab51a09 qcacld-3.0: Add changes to trigger SAE in supplicant
Add following changes as part of this
1. Add framework to trigger SAE using cfg80211
2. Add changes to send sae info from LIM to HDD layer.

Change-Id: Ia87088dc46ea3f75d05f42e20594dd79a97aff11
CRs-Fixed: 2029357
2018-01-19 03:54:49 -08:00
Padma, Santhosh Kumar
3e47c63ff2 qcacld-3.0: Add SAE related ini and cap exchange changes
Add ini changes related to SAE and also changes related
to capability exchange with supplicant.

Change-Id: I8deaa124fe0c604e8777c4bffa064a2d8173661b
CRs-Fixed: 2029357
2018-01-19 03:54:46 -08:00
Padma, Santhosh Kumar
07eb80bf87 qcacld-3.0: Add support for SAE AKM suites
Add support for SAE AKM suites in CSR and also add support for
SAE in HDD. Also, add CONFIG_WLAN_FEATURE_SAE flag to enable/disable
SAE in Kbuild. When this is enabled, WLAN_FEATURE_SAE is used as a
feature flag for SAE.

Change-Id: I6254991afa0fd048d4f0b6f435ff630f1db04077
CRs-Fixed: 2029357
2018-01-19 03:54:43 -08:00
Jingxiang Ge
3badb98068 qcacld-3.0: Protect peer info when calling from rx thread
When calling ol_txrx_flush_rx_frames from rx thread, it is possible
that rx thread is scheduled out, if peer detach happens from MC thread,
after return back to rx thread, the peer may have been deleted which
causes panic.

Add ref_cnt to protect peer info and move delete peer_info_lock/
bufq_lock when finally delete peer rather than in the beginning
of ol_txrx_peer_detach.

Change-Id: I24a85de4551f93c379da59eb21a388e8eaf5f1d2
CRs-Fixed: 2164432
2018-01-19 03:54:40 -08:00
Tiger Yu
1e553e5aa3 qcacld-3.0: Fix potential buffer overflow in ol_txrx_update_tx_queue_groups
Check for the validity of group_id when received the htt message of
HTT_T2H_MSG_TYPE_TX_CREDIT_UPDATE_IND from firmware to ensure the buffer
overflow does not happen.

Change-Id: I17ac9f37a1450f32fb080c3b22f6317b6238068c
CRs-Fixed: 2148610
2018-01-19 03:54:38 -08:00
snandini
e512a3d763 Release 5.2.0.62B
Release 5.2.0.62B

Change-Id: I6cca8387c5b2f97c6e052f09e4db71d2f4b7b4c8
CRs-Fixed: 774533
2018-01-19 02:03:39 -08:00
Naveen Rawat
06c4ebe53d qcacld-3.0: Fix band agnostic chainmask ini params
Change band agnostic chainmask variable in hdd_config to uint8_t
because the parameter can take values 0, 1 and 2.

Change-Id: I4ea06db6031bcb98c3d3b352e175a09cd735901a
CRs-Fixed: 2171613
2018-01-19 02:03:39 -08:00
snandini
fea98482ba Release 5.2.0.62A
Release 5.2.0.62A

Change-Id: I27fa3b05752169dcfbab0a0dad30766cbc11ec3e
CRs-Fixed: 774533
2018-01-18 01:49:39 -08:00
Himanshu Agarwal
6c3607ac01 qcacld-3.0: Stop connection in progress STA when SAP comes up
For STA+SAP concurrency support from GUI, first STA connection gets
triggered and while it is in progress, SAP start also comes up. Once
STA association is successful, STA connect event is sent to kernel which
gets queued in kernel workqueue and supplicant won't process M1 received
from AP and send M2 until this NL80211_CONNECT event is received. Workqueue
is not scheduled as RTNL lock is already taken by hostapd thread which has
issued start_bss command to driver. Driver cannot complete start_bss as the
pending command at the head of the SME command pending list is
hw_mode_update for STA session which cannot be processed as SME is in
WAITforKey state for STA interface. The start_bss command for SAP interface
is queued behind the hw_mode_update command and so it cannot be processed
until hw_mode_update command is processed. This causes a deadlock.

Disconnect STA interface first if connection or key exchange is in progress
and then start SAP interface to prevent this deadlock condition.

Change-Id: I2ef5fe0e3bc84e721e6a2baa0dae81c6106c5a8f
CRs-Fixed: 2171912
2018-01-18 01:49:39 -08:00
Dustin Brown
8e71150aef qcacld-3.0: Enable nbuf map/unmap tracking
Enable the recently added net buf map and unmap tracking feature. This
feature is tied to MEMORY_DEBUG.

Change-Id: I2f1606447af8b022e0fb9886301fafa9a8fd334c
CRs-Fixed: 2151977
2018-01-18 01:49:36 -08:00
Vignesh Viswanathan
85b455ee99 qcacld-3.0: Free IE buffers in SAP config in case of SSR SAP Restart
When a SSR SAP restart happens, hdd_ssr_restart_sap invokes
wlan_hdd_start_sap. In this function, IE buffers for sap_config is
allocated as part of wlan_hdd_cfg80211_update_apies and then copied
to csr_profile in wlansap_start_bss and then SAP FSM Starts the SAP.

The memory allocated for IE buffers in sap_config needs to be freed
in both SAP Start Success and failure cases without which, in case
of multiple SSRs, each time new malloc is done and will lead to
memory leak.

Free the IE buffers in sap_config in wlan_hdd_start_sap in both
SAP Start success and failure cases.

Change-Id: I43035c786444d0dfbcfaba9038a09cf345263b10
CRs-Fixed: 2168107
2018-01-18 01:49:34 -08:00
snandini
e2ee73de73 Release 5.2.0.62
Release 5.2.0.62

Change-Id: I7e10ebe649d80b9cf02e284b25bf284da9b676a9
CRs-Fixed: 774533
2018-01-17 21:27:32 -08:00
Will Huang
93bc137ee1 qcacld-3.0: Add hdd_ch_avoid_dyn_cbk as channel avoid callback
Currently channel avoid event is not handled, add hdd_ch_avoid_dyn_cbk
as channel change callback to handle channel avoid event.

Change-Id: I451eedf69fd5b91850ed82cf3ad8d7530e259176
CRs-Fixed: 2163673
2018-01-17 21:27:31 -08:00
snandini
8c4e5c43c2 Release 5.2.0.61Z
Release 5.2.0.61Z

Change-Id: Iec576af54dbc8460d6803c49dbae222914287777
CRs-Fixed: 774533
2018-01-17 17:49:10 -08:00
Arif Hussain
1513cb2384 qcacld-3.0: Enable obss detection offload
Enable firmware based obss detection.

Change-Id: I218337092e553bca0737864214c16b0dacbfa3be
CRs-Fixed: 2171944
2018-01-17 17:49:10 -08:00
Arif Hussain
ee10f9089e qcacld-3.0: Add obss detection offload support
Add support for obss detection offload support.

Change-Id: I27fdef1604f6f92890dda024fbc8f9d13df602a3
CRs-Fixed: 2170187
2018-01-17 17:49:06 -08:00
snandini
ef28d05d23 Release 5.2.0.61Y
Release 5.2.0.61Y

Change-Id: Ie234ad57378ac73dc3d0b5f63ca28dff2b70ea1e
CRs-Fixed: 774533
2018-01-17 01:40:57 -08:00
Sourav Mohapatra
421d42bb44 qcacld-3.0: Synchronize __con_mode_handler and __hdd_open
Interface up runs in normal mode (wifi@1.0-service) and it gets
preempted by the con_mode change handler when Monitor mode is
invoked via user. Then again when the normal mode gets scheduled
after the completion of Monitor mode, it tries to access contents
freed during the con_mode change.

The execution of __con_mode_handler and __hdd_open is
synchronized with help of a mutex lock and an atomic variable

Change-Id: Ia78c225a21e2c505ffae6b16647ba8f2c661bbbd
CRs-Fixed: 2158683
2018-01-17 01:40:56 -08:00
Kabilan Kannan
1577230c1f qcacld-3.0: Reject TDLS operation, when it is disabled via INI
TDLS operations should not be allowed, when it is disabled
through INI param.
Reject TDLS operation, if it is disabled through INI param.

Change-Id: I9ee03d84d619312f869f75327ca977534ff5bb07
CRs-Fixed: 2164148
2018-01-17 01:40:53 -08:00
Rajeev Kumar
4851c22883 qcacld-3.0: Fix some of excessive logging from IPA path
Fix some of excessive logging from IPA path to avoid WD bark.

Change-Id: I310b6f3e155c9ab4c8db89da3db842bb1a7bf263
CRs-Fixed: 2167094
2018-01-17 01:40:50 -08:00
snandini
595d772e3f Release 5.2.0.61X
Release 5.2.0.61X

Change-Id: I2902a2f89fd1548c8bd095e1470d1c585a7afb7f
CRs-Fixed: 774533
2018-01-16 18:29:45 -08:00
Ryan Hsu
c8b27a4352 qcacld-3.0: Move FTM cmd/event handle to common code
- replace the ftm command/event handle with common interfaces
- remove the event register from wma
- reconfigure the target_if_handle for FTM mode
- separate change will be raised to cleanup legacy code

Change-Id: If8e2dfc4c6bb400406be5d0d3fa53422db5c6fb5
CRs-fixed: 2162168
2018-01-16 18:29:44 -08:00
snandini
4e514214e4 Release 5.2.0.61W
Release 5.2.0.61W

Change-Id: I345595ba18f9379ad504dd5b4db091e805fc0845
CRs-Fixed: 774533
2018-01-16 17:40:51 -08:00
Rajeev Kumar
1e57b9c78f qcacld-3.0: Avoid panic in driver inactivity op timer if fw is down
It's possible that FW crashes during driver unload hence avoid panic
in driver inactivity op timer handler if fw is already down.

Change-Id: I43b520fe064ede919f5f98674d98e8861fd9a414
CRs-Fixed: 2167265
2018-01-16 17:40:51 -08:00
Yun Park
6edb217876 qcacld-3.0: Fix uc_op_work->msg leak from uC ready callback
Do not schedule uc_op_work inside uC ready callback, when the
uc_op_work is not initialized.
So, if the uC ready callback is invoked before hdd_ipa_ol_init(),
just set uc_loaded flag and return, without scheduling uc_op_work.

Change-Id: I9c813047ab4b1b129e4fb057d8aacbef5cc9efea
CRs-Fixed: 2169668
2018-01-16 17:40:48 -08:00
snandini
5c6adaff92 Release 5.2.0.61V
Release 5.2.0.61V

Change-Id: I6eb3c60970c30fdad6f7c5b1677d8ff71035b702
CRs-Fixed: 774533
2018-01-16 13:48:49 -08:00
Sandeep Puligilla
063a434073 qcacld-3.0: Enable spectral scan vendor support
Enable spectral scan vendor command support.
Add legacy callback API's to support common spectral
component.

Change-Id: I6361fd8cb989b4c8a9b73074155629ddc8a3b465
CRs-Fixed: 2172214
2018-01-16 13:48:49 -08:00
snandini
b3af2dbe82 Release 5.2.0.61U
Release 5.2.0.61U

Change-Id: I1e2ae7883c2ca49a71c62d534d5ab4d62f9a2d2a
CRs-Fixed: 774533
2018-01-16 11:29:08 -08:00
Padma, Santhosh Kumar
4117d7a59c qcacld-3.0: Add support for GMAC cipher suite
Add changes to support GMAC group management cipher suite

Change-Id: Ic4855b77268464a1ed61efcf213f76a2d99ff0c4
CRs-Fixed: 2164828
2018-01-16 11:29:08 -08:00
Padma, Santhosh Kumar
0ab7817dc3 qcacld-3.0: Add support for GMAC MIC validation
Add changes to validate MIC for the received protected
MC/BC frames with GMAC group management cipher suite.

Change-Id: Ie5f60674a452d2d930acc9ff9eb55de37645097a
CRs-Fixed: 2164828
2018-01-16 11:29:05 -08:00
snandini
1ddc2a79f1 Release 5.2.0.61T
Release 5.2.0.61T

Change-Id: Iecbaed13a8d124910d9ab210387f2a3fc228b333
CRs-Fixed: 774533
2018-01-16 09:40:16 -08:00