Commit Graph

8139 Commits

Author SHA1 Message Date
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
snandini
e807596178 Release 5.2.0.61S
Release 5.2.0.61S

Change-Id: Ife58ab7913d3d2ec78877e30e923c15890d6b973
CRs-Fixed: 774533
2018-01-16 07:46:47 -08:00
Vignesh Viswanathan
19611c85fe qcacld-3.0: Wait for scan event completion before scan abort from hdd
When hdd_abort_mac_scan_all_adapters is called from hdd_wlan_exit,
an event is posted from the host to the FW to abort active scans.
Once the response is received from the FW, scan callback function is
called and the current scan command is released from the active list.

Also, as part of csr_stop happening during WLAN exit, csr_cleanup_session
tries to release all the commands from the pending and active scan lists.
This happens in the context which triggers wlan_exit and not in sync with
mc_thread.

In a race condition, the release from csr_cleanup_session happens
while the mc_thread is trying to do csr_release_command_scan leading
to NULL pointer access.

In hdd_abort_mac_scan_all_adapters function, call wlan_abort_scan
with sync flag as true to wait for scan events to complete before
proceeding with purge

Change-Id: Idc5fb3d9bdb1b16b110526d2ee68b2a04192733e
CRs-Fixed: 2171190
2018-01-16 07:46:47 -08:00
snandini
480eeefd03 Release 5.2.0.61R
Release 5.2.0.61R

Change-Id: I07e8c5bec290f82273b290531b4a041c8d74fba8
CRs-Fixed: 774533
2018-01-16 03:42:22 -08:00
Frank Liu
6666f83f73 qcacld-3.0: Fix resource leaks when change con_mode
Avoid resource leaks on PCIe targets, call close adapters before
stop modules.

Change-Id: If06be4c9627eb345fb52609351417b155d336a4e
CRs-Fixed: 2164930
2018-01-16 03:42:21 -08:00
gaolez
d16a285d82 qcacld-3.0: Update ecsa cap in assoc event instead of start bss event
ECSA capability has been updated up on start bss completion event
as part of I1d7892bb1dc4e490a587e8372a4bdc7f419e8b36. Correct way
of updating ECSA capability for peer STA is up on association
completion event. Move current assignment of ECSA cap from start
bss event to association/reassociation event.

Change-Id: I83ff6ac41444e2f865e03050ffcbd6732fced412
CRs-Fixed: 2169665
2018-01-16 03:42:17 -08:00
Frank Liu
565e14923a qcacld-3.0: Fix regression in tdls tx mgmt
Tdls mgmt frames are data packets and sent through driver's data patch.
Remove the invert logic for mgmt frame.

Change-Id: I5f92efeffcb2b6dd12d131eabacff5b5b6425d5c
CRs-Fixed: 2171921
2018-01-16 03:42:13 -08:00
Arif Hussain
1cd8abf660 qcacld-3.0: Remove overlap protection from lim cache
Remove overlap protection cache from lim and make use
of existing pe session caches.

Change-Id: Ifbabb3da1dad6504e5024643182af1c88ae2ca40
CRs-Fixed: 2170187
2018-01-16 03:42:10 -08:00
snandini
b43f62233d Release 5.2.0.61Q
Release 5.2.0.61Q

Change-Id: If6cdd35b8da88c4b18a80a3e8908da4d92716c0d
CRs-Fixed: 774533
2018-01-16 01:59:11 -08:00
Kabilan Kannan
9d2c987e6d qcacld-3.0: Remove the excessive logging in hdd_get_adapter_by_vdev
hdd_get_adapter_by_vdev() is an utility function, and shouldn't
have the error message inside the function. Caller can log the
error message based on the return value.
This change will reduce the excessive logging in the system.

Change-Id: I64d7a0e3e180a636d710b42837ff3a982853fb12
CRs-Fixed: 2164658
2018-01-16 01:59:10 -08:00
Min Liu
e98cbdec19 qcacld-3.0: Add NULL pointer check
In the following functions, add NULL pointer check to
address the following issues:
  - lim_send_sme_ndp_add_sta_rsp
  - sme_process_set_hw_mode_resp
  - sme_update_new_channel_event
  - sme_change_mcc_beacon_interval
  - sme_pdev_set_hw_mode
  - sme_nss_update_request
  - sme_soc_set_dual_mac_config

Change-Id: I55038966474b775fba514591c2657228af4f8769
CRs-Fixed: 2168378
2018-01-16 01:59:08 -08:00
Varun Reddy Yeturu
c1c2411be5 qcacld-3.0: Pass the proper frequency for RRM scans
For RRM scan requests, pass the frequency instead of
channel number in the scan request since the new scan
component expects a frequency.

Change-Id: I93d9ea7b1ff406c3f19692add2e3b6532a50ae0b
CRs-Fixed: 2155488
2018-01-16 01:59:05 -08:00
wadesong
4879f42765 qcacld-3.0: ACS fail-safe channel config indication
When ACS scan fails due to some reason, the default channel will
be configured based on ACS band and channel range config, but
the channel and band configs are not indicated to hostapd in a
proper way.

Add code for fail-safe channel and band config indication to
hostapd when ACS scan fails.

Change-Id: Ibbafbc7b853e753cee5563ab64c12c81c3fe54e2
CRs-Fixed: 2166815
2018-01-16 01:59:02 -08:00
snandini
097f54ec3e Release 5.2.0.61P
Release 5.2.0.61P

Change-Id: I3bd0fee5545bc65b1f6f46cc3f945532e31b0cae
CRs-Fixed: 774533
2018-01-15 17:46:12 -08:00
Naveen Rawat
3c16257dba qcacld-3.0: Fix memory leak in sme_rrm_issue_scan_req
Function sme_rrm_issue_scan_req issues scan request, which consumes
an allocated channel list and frees it later. It should also free the
scan list in same context for all the paths that do not issue the scan
request or when the channel list is parsed completely. Fix the memory
leak by making sure all such paths where scan request is not issued,
channel list is freed.

Change-Id: I561c3e03beaa5a809b5be1dd0c9dc73312e3c102
CRs-Fixed: 2166647
2018-01-15 17:46:12 -08:00
Zhu Jianmin
3e90479f0f qcacld-3.0: Fix LFR2 fail on diff channel during multi-sessions
SIR_SCAN_EVENT_FOREIGN_CHANNEL event passed vdev_id, not PE
session id, can't use pe_find_session_by_session_id to get PE
session, should use pe_find_session_by_sme_session_id
smeSessionId is same as vdev_id.
vdevi_id isn't same as pe session id during following STA-P2P
case:
3 vdevs: STA(vdev0), P2P(vdev1), P2P Go(vdev2)
2 PE sessions: 0: P2P Go(vdev2),  1: STA(vdev0)
STA vdev is created before P2P,  but P2P session is created
before STA,  P2P connection happened before  STA connection.
LFR2 pre-auth happened on vdev0,  but PE session 1.

Change-Id: If0d634e84316cf0f19edac57d99ad8a9c1273279
CRs-Fixed: 2172029
2018-01-15 17:46:09 -08:00
yeshwanth sriram guntuka
41f936c740 qcacld-3.0: Add config support for BTM offload
Add ini to configure BTM offload configuration
which is sent to firmware as part of RSO start
via wmi btm config cmd.

Change-Id: I69c792705b208014af8f1878f7645d957dde6c06
CRs-Fixed: 2109793
2018-01-15 17:46:07 -08:00
Rajeev Kumar
69ab276a24 qcacld-3.0: Remove redundant assert from WMA if vdev is down
Remove redundant assert message from WMA if vdev is down as
proper error code and error log message is returned to the caller.

Change-Id: I0430cf87620452a8d2973b1d6711c687a887e270
CRs-Fixed: 2171676
2018-01-15 17:46:04 -08:00
snandini
4f230bf869 Release 5.2.0.61O
Release 5.2.0.61O

Change-Id: Ic5af9b4a0674a1d445adb0265dddf28973ce8063
CRs-Fixed: 774533
2018-01-15 16:32:42 -08:00
Naveen Rawat
441bc87f12 qcacld-3.0: Add 11AX cap checks in Assoc Request handler
Add following 11ax checks while processing assoc request:
1) If SAP is 11AX only - reject non 11ax STA
2) If connecting STA does not support basic HE MCS as
   advertised by SAP then reject STA connection

Change-Id: Ic2aee9ee92a189ca611a1264dcc23b4b93e0d856
CRs-Fixed: 2159243
2018-01-15 16:32:42 -08:00
snandini
29db278e31 Release 5.2.0.61N
Release 5.2.0.61N

Change-Id: Ief11b5c10a2616571dbf5198e2d8118cb085e75c
CRs-Fixed: 774533
2018-01-15 15:39:07 -08:00
Nachiket Kukade
b7e0497148 qcacld-3.0: Correct string comparison logic while handling IOCTL
Upon receiving IOCTL RXFILTER-ADD or RXFILTER-REMOVE, driver compares
this string with the list of supported cmd strings. It uses
strncasecmp for comparison, the length of comparison is the length of
the string from the cmd list. Since position of RXFILTER is before
RXFILTER-ADD/REMOVE and only length of RXFILTER is matched with the
incoming command, it gives a false hit. This causes the IOCTL to be
ignored since the handler for RXFILTER is a dummy handler.

Calculate and use length of incoming cmd string for string comparison.

Change-Id: Ifd21d5371adb54882231c02b6c0a643258d028ae
CRs-Fixed: 2158443
2018-01-15 15:39:06 -08:00
snandini
213a9bc897 Release 5.2.0.61M
Release 5.2.0.61M

Change-Id: I8adbaba58aa044cf39091dbdd2647a36c5cdb9e7
CRs-Fixed: 774533
2018-01-15 03:41:27 -08:00
jiad
bdefb255ce qcacld-3.0: Fix frame-larger-than build error
Build option -Werror=frame-larger-than= throws frame size larger than
1024 bytes build errors.

Change-Id: I7d6b87e247f8c4dc31b2f4f0cd108f404fabacd1
CRs-Fixed: 2165532
2018-01-15 03:41:27 -08:00
jiad
7e3a9bef42 qcacld-3.0: Fix misleading identation build error
Build option -Werror=misleading-indentation throws misleadingly indented
error.

Change-Id: I6a6826a437cdff9556aced1f68081e31100c6548
CRs-Fixed: 2165511
2018-01-15 03:41:24 -08:00
Liangwei Dong
50a64a7bdd qcacld-3.0: Destroy pdev after all vdev free
Currently, pdev destroy is before cds_close and
scheduler_disable. Some pending msg in scheduler
may hold ref count on vdev.
scheduler_flush_mqs will release all the vdev ref
and get vdev freed.
That may cause pdev freed before vdev and get
issue in wlan_objmgr_vdev_obj_free.

Fix by destroy pdev after all possible vdev ref
released (cds_close).

Change-Id: I8e898f6c63fa298f2c63c5fc19706208b8580a60
CRs-Fixed: 2156577
2018-01-15 03:41:22 -08:00
Min Liu
81f2ed3f2f qcacld-3.0: Add check for return value
Currently in cds_enable, no check is performed against the return
value of dispatcher_psoc_enable. Add it accordingly.

Change-Id: Ie8119b5581fb13723dd5cd3c7e22477df51005f4
CRs-Fixed: 2168212
2018-01-15 03:41:19 -08:00
snandini
c9585aebb3 Release 5.2.0.61L
Release 5.2.0.61L

Change-Id: I6d2c967f6729d498fb4e297bd3d26a9277ba2c2b
CRs-Fixed: 774533
2018-01-14 21:27:37 -08:00
Liangwei Dong
17bf26645a qcacld-3.0: Get valid channel by wlan reg API
To use the new wlan reg API
wlan_reg_get_current_chan_list to get current
chan list.

Change-Id: I8b57e425dfb8c27e8c7b013107fb92fd0d08bc34
CRs-Fixed: 2168335
2018-01-14 21:27:37 -08:00
snandini
9edc92ce2b Release 5.2.0.61K
Release 5.2.0.61K

Change-Id: I38d91dc99fb3d1ff291600d465b23f33f34b12a4
CRs-Fixed: 774533
2018-01-13 15:21:18 -08:00
Kiran Kumar Lokere
7d9439c858 qcacld-3.0: Dont send power disable cmd to FW in disconnected state
Do not send power save disable command to FW in disconnected state
as the power save is already disabled when STA is disconnected and
FW does not expect powersave commands after VDEV is down

Change-Id: Iea5a564f1a57f7fa4b8d9c96296d2c2e82c92775
CRs-Fixed: 2171113
2018-01-13 15:21:18 -08:00
snandini
1756f39b41 Release 5.2.0.61J
Release 5.2.0.61J

Change-Id: I4c209f237c1406093f44b3985c1e09e072665fd6
CRs-Fixed: 774533
2018-01-13 05:26:21 -08:00
Vignesh Viswanathan
925db8c5ee qcacld-3.0: Fix clang issues related to FILS and frame parser
Two clang issues reported in csr_api_roam.c and dot11f.c for
unwanted NULL Checks.

Remove the below unwanted NULL checks:
1. for fils_info->keyname_nai in csr_update_fils_params_rso function
2. for gp_mgmt_cipher_suite in RSN IE for pack and get_packed_size
functions.

Change-Id: Ifd3a5772ee8b604d06293b6d4ebd3a049aebd3cd
CRs-Fixed: 2167373
2018-01-13 05:26:20 -08:00
snandini
a1a549dc64 Release 5.2.0.61I
Release 5.2.0.61I

Change-Id: I2bc45d2f17f631814b32c2297424997a7069e7b2
CRs-Fixed: 774533
2018-01-13 02:17:43 -08:00
Yue Ma
4265468538 qcacld-3.0: Delete client peers for P2P GO mode during SSR
Make sure to delete the client peer objects for P2P GO mode to avoid peer
object leaks during SSR. Refine some logs for SSR for better readability.

CRs-fixed: 2171112
Change-Id: Icd691df90f3e0583ffe72d0025dbff4713d82a84
2018-01-13 02:17:43 -08:00
snandini
e6c1cd1988 Release 5.2.0.61H
Release 5.2.0.61H

Change-Id: I74564f65e5940e5142d48ae301667f9cad9c3fb1
CRs-Fixed: 774533
2018-01-13 01:28:10 -08:00
Abhishek Singh
6454ad3707 qcacld-3.0: Add force rsne override and use the RSNE passed by user
Adds support for INI "force_rsne_override" and vendor interface to
enable test mode to force rsne override. Once force rsne override
is set the driver will use the RSN IE's as-is from the connect
request. Exclusively used for the scenarios where the device is used as
a cert test bed and not recommended for production.

With force_rsne_override enabled in INI and once enabled from vendor
command driver will not validate the RSN IE's passed from user space
and thus induce improper IE as it is to test the peer.

Once the force_rsne_override is set, it will be active until its
disabled by vendor interface or driver unload.

If INI force_rsne_override is disabled, the force rsne override mode
cannot be enabled by vendor command.

Change-Id: Ic58474e7a18e6c1f944c61783f630af3953011c0
CRs-Fixed: 2164526
2018-01-13 01:28:09 -08:00
snandini
ddbde4e345 Release 5.2.0.61G
Release 5.2.0.61G

Change-Id: Ic6fc3c1eaca59c76713eb1a12030c39928f38605
CRs-Fixed: 774533
2018-01-13 00:42:44 -08:00
Abhinav Kumar
a03659c39d qcacld-3.0: Fix multiple length definition issue in WLAN FW message
Currently, firmware fills the num variables value of param_tlvs
structure for all wmi commands. But during buffer write the fixed param
values are used to check maximum limit of buffer in wmi commands.
Due to multiple length definition of num variable in WLAN FW message,
num variables of param_tlvs may not equal to max limit defined in
fixed_param, resulting OOB issues in WLAN FW messages during buffer write.
Add sanity check to make sure that num variables value doesn’t exceed max
limit of num value defined in param_tlvs.

Change-Id: I43c15557057ab5b900f19b9f54426dcdf85e2c27
CRs-Fixed: 2153638
2018-01-13 00:42:43 -08:00
Yun Park
e4239809d9 qcacld-3.0: Cleanup function entry/exit logs from HDD IPA module
Move module init/deinit and function entry/exit logs to DEBUG level,
and keep only minimum logs in kernel log buffer.

Change-Id: Ia9fe82934638683079d308acfc9e7014e1d1a0e3
CRs-Fixed: 2169416
2018-01-13 00:42:40 -08:00
Abhishek Singh
1f217ecc2d qcacld-3.0: Add support for roaming on all STA interfaces
Roaming is allowed only on wlan0 interface and is not allowed by
default on any other STA interface.

With this change, roaming will be allowed on all the STA interface
with below conditions:
 - At a time only one STA interface will have roaming enabled.
 - STA which connects first will enable the roaming.
 - Whenever a STA connects and if roaming is not enabled on
   any STA interface, roaming will be enabled on the connected STA.
 - Whenever a STA on which roaming was enabled disconnects, if any
   other STA interface is present and is in connected state, the
   roaming will get enabled on the other STA interface.

Change-Id: I4c7654480ad893eb1635138447e1a0b37abf1ac4
CRs-Fixed: 2166972
2018-01-13 00:42:38 -08:00