Commit graph

8,824 commits

Author SHA1 Message Date
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
Nachiket Kukade
da14496747 qcacld-3.0: Correct the logic that checks bound for pmo handler ids
Under unregistering of PMO handlers, incoming component id is sanity
checked. In the logic, WLAN_UMAC_MAX_COMPONENTS as id will not cause
failure even though it is an id beyond the acceptable bound.

Correct the logic so that WLAN_UMAC_MAX_COMPONENTS ends up in failure.

Change-Id: I6935f34c6d91a4217c3f7f73cd5539af2741ed2b
CRs-Fixed: 2091831
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