Commit graph

8,859 commits

Author SHA1 Message Date
snandini
0b1d97109b Release 5.2.0.62L
Release 5.2.0.62L

Change-Id: I8c5218359f46a6f41173d7829a612bbb8daa6166
CRs-Fixed: 774533
2018-01-22 11:20:52 -08:00
Ryan Hsu
6fdc60fcae qcacld-3.0: clean up the FTM legacy code
clean up the ftm legacy code

Change-Id: If56f46386108b04f8c1ec73804976c61019a6ffe
CRs-fixed: 2169366
2018-01-22 11:20:52 -08:00
snandini
92ca08e972 Release 5.2.0.62K
Release 5.2.0.62K

Change-Id: I840cc6799c447ffb9950bbed5311ac8a506eedc5
CRs-Fixed: 774533
2018-01-22 05:39:41 -08:00
Himanshu Agarwal
fee2e36308 qcacld-3.0: Set ACS weight to max for channels not in scan list
When gApAutoChannelSelection is set to 1 in ini, HOST driver ACS
runs in wlan_hdd_cfg80211_start_bss() with all the channel width,
hw mode and start and end channel parameters overridden with the
values from ini. After scan on all the channels, a weight is
assigned to all the channels based on rssi and no. of BSS present
on that channel. Weights of all the channels not present in the
scan list remains 0 as no scan happened on those channels and so
BSS count is 0 and RSSI is max. As the channel with lowest weight
is selected, channel which is not even present in scan list is getting
selected.

Assign SAP_ACS_WEIGHT_MAX to all the channels not in the scan list so
only one of the channel present in scan list gets selected after ACS
algorithm is completed.

Change-Id: Ic567c412ec7f68e2bb5d12e8e982650e56fd0488
CRs-Fixed: 2164979
2018-01-22 05:39:40 -08:00
snandini
62a55f847c Release 5.2.0.62J
Release 5.2.0.62J

Change-Id: I5aa688748d75017c3076c256bf1dd62d820867be
CRs-Fixed: 774533
2018-01-22 03:47:55 -08:00
Jiachao Wu
2c42c22fcc qcacld-3.0: Do txrx detach when SSR
Sometime data path is sending packets but ce handler have been
freed when SSR recovering.
Do txrx detach before driver free ce handler.

Change-Id: I0290cc6bf4e4087754fcdd7ae1fe058b8b2e68d2
CRs-Fixed: 2166232
2018-01-22 03:47:55 -08:00
snandini
f47c93dcb9 Release 5.2.0.62I
Release 5.2.0.62I

Change-Id: I93d6b95e462cc434187cb332530e4dc3f5c909f1
CRs-Fixed: 774533
2018-01-20 05:22:36 -08:00
Rajeev Kumar
f31b923b21 qcacld-3.0: Enhance logging in suspend path for timer pattern
Enhance logging in suspend path while adding timer wake up pattern.

Change-Id: I3d035aae165d9fcee5a69b741c75403daa45b423
CRs-Fixed: 2175656
2018-01-20 05:22:36 -08:00
snandini
304b4850ca Release 5.2.0.62H
Release 5.2.0.62H

Change-Id: I6dc499f2b3692f94e36cae6b88eb7c04ad7fd05f
CRs-Fixed: 774533
2018-01-20 03:20:56 -08:00
Varun Reddy Yeturu
076eaa810d qcacld-3.0: Disable Tx Queues upon sta kick out event
Upon receiving a STA kick out event or a beacon miss event,
disable the Tx Queues immediately so that there is no influx
of packets anymore as the STA is going to disconnect further.

Change-Id: Ic6d7a3acbd8b90aec68771c1520359d39e0534db
CRs-Fixed: 2171633
2018-01-20 03:20:56 -08:00
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