Commit Graph

452 Commits

Author SHA1 Message Date
Kiran Kumar Lokere
44a2943836 qcacld-3.0: Add support to update HE cap Nss using ioctl
Add support to update HE Nss capability using ioctl command

Change-Id: I0f32da6eb5835c008b6b35f000e4c670a22b111b
CRs-Fixed: 2181263
2018-02-10 00:52:06 -08:00
Vignesh Viswanathan
fb9d07522e qcacld-3.0: Send 11k offload params as part of RSO to WMA
Currently 11k offload params is sent directly as a message from CSR to WMA
leading to timing issues where 11k offload params are sent to the FW
before RSO start is sent.

Send the 11k offload params as part of the RSO request from CSR to WMA
and handle the request to send the 11k offload WMA command to FW.

Change-Id: Icff7146171cdf325f3a7e5a067652669ec0270ff
CRs-Fixed: 2183161
2018-02-07 04:00:22 -08:00
Abhishek Singh
9fabbbb36e qcacld-3.0: Cleanup abort scan called from CSR and LIM
Cleanup abort scan called from CSR and LIM by calling
ucfg_scan_cancel api to abort the scan.

Change-Id: Ie146c60a1888a55b0da295864a9edc083fc36d1a
CRs-Fixed: 2180189
2018-02-04 01:33:07 -08:00
Abhishek Singh
6884428a1a qcacld-3.0: Add ini to enabled/disable the SU beamformee in vendor VHTIE
Enabling SU beamformee in vendor vht IE gives good throughput in long
range while bad throughput in short range due to excessive sounding
action frames sent by APs.

So to give control to the user, add INI "enable_subfee_vendor_vhtie"
to enabled/disable the SU beamformee in vendor vht IE. It is
dependend on INI "gTxBFEnable" and if "gTxBFEnable" is set to 0
this will not have any effect and SU beam forming will always be
disabled.

Change-Id: Id67ea86d3e0a48fec8913d6254733f753dfdae8b
CRs-Fixed: 2178940
2018-02-01 02:20:49 -08:00
Vignesh Viswanathan
694e28eee7 qcacld-3.0: Add support for 11k offload to FW
Add new ini options for 11k offload paramters and changes to pass down the
11k offload parameters to the FW. The 11k offload command is sent after
roam start to the FW in connect path.

Also add 11k invoke command support to offload neighbor report request
iwpriv command to FW

Change-Id: If6d4bff91531e5460bbc8a851a6d777cf088eda0
CRs-Fixed: 2162029
2018-01-31 02:05:45 -08:00
bings
10f2645d36 qcacld-3.0: Use iwpriv setRadarDbg to configure dfs log level
Use iwpriv command "setRadarDbg" to configure dfs log level because
MCL does not have tools to trigger dfs_control.

Change-Id: I2d7b30b026dfedbf03002463652fead83220fa2a
CRs-Fixed: 2178636
2018-01-26 21:26:47 -08:00
Jeff Johnson
f0e54b019b qcacld-3.0: UMAC: Add support to retrieve SAR power limits
Recently change "qcacld-3.0: Add SAR power limit configuration"
(Change-Id: I137ce9bde2fa05e363d5af17e155dc739d862c5f) added the
ability to dynamically configure Specific Absorption Rate (SAR) power
limits. Now update the UMAC layer to add the ability to retrieve the
current active power limits.

Change-Id: Ifdf1d8b2e4d507348f013f1bcac1045bf13caa65
CRs-Fixed: 2161448
2018-01-23 12:30:13 -08:00
Jiachao Wu
84bb2ea507 qcacld-3.0: Add new config for BTM offload
Add new config in INI for solicited BTM offload.
Those parameters will be sent to firmware.
New parameters:
* btm_solicited_timeout: Timeout value for waiting BTM request.
* btm_max_attempt_cnt: Maximum attempt for sending BTM query to ESS.
* btm_sticky_time: Stick time after roaming to new AP by BTM.

Change-Id: I24cc680bbfde3d44a57b1e1ccf644c2bed515a2c
CRs-Fixed: 2168981
2018-01-23 00:27:47 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
Himanshu Agarwal
b229a14b67 qcacld-3.0: Add support for Green AP UMAC componentization
Add support for Green AP UMAC componentization.

Change-Id: I4e41ee6c5dfd055c273096c56de4fa253727b429
CRs-Fixed: 2166756
2018-01-12 12:20:09 -08:00
Wu Gao
a0230a65b2 qcacld-3.0: Send BC public action frames on all interfaces
Add changes to indicate BC public action frames to all interfaces.

Change-Id: I4e4eb80e84be43fa3631092432ae19359b5d4539
CRs-Fixed: 2166996
2018-01-12 01:53:42 -08:00
Padma, Santhosh Kumar
e587a5c690 qcacld-3.0: Add support for SuiteB AKM suites
Add support for Suite B AKM suites 000FAC 11/12.

Change-Id: I97b13e4266ae7062e728a144a046f663e4f92cc5
CRs-Fixed: 2164921
2018-01-11 15:39:39 -08:00
Paul Zhang
c3fc0a8021 qcacld-3.0: Fix compiler issuse when LFR disabled
Clean the compiler issue when CONFIG_QCACLD_WLAN_LFR3
or CONFIG_QCACLD_WLAN_LFR2 or both sets to 'N'.

Change-Id: I9fbad33883fcaf9c3f5728a96cac18bd18c2d14a
CRs-Fixed: 2159431
2018-01-11 13:45:06 -08:00
Nachiket Kukade
2c73ade073 qcacld-3.0: Cleanup WMA and SME code related to DISA
DISA feature has been moved to a CLD component under the converged
driver model. This renders original code in WMA and SME obsolete.
Remove it.

Change-Id: Ia44acd9a3e31bf0d1098f7d423f0c28a2b7fe5fa
CRs-Fixed: 2161950
2018-01-09 13:39:55 -08:00
Abhishek Singh
7dcb85b91d qcacld-3.0: Use default RSN fields if optional fields are not present
Adds logic to use default RSN IE fields if optional fields are not
present in IE. So if RSN IE doesn't contain AKM, group and unicast
cipher use the default AKM(AKM_IEEE8021X) and cipher (CCMP).

Change-Id: I8e9737aea15322e43d2d954d046f5b2ac9b21af1
CRs-Fixed: 2164528
2018-01-09 05:22:09 -08:00
Ashish Kumar Dhanotiya
443d31f5f8 qcacld-3.0: Cache deleted station's information in case of SAP
During disconnection process, cache disconnecting STA information
so that the same information is updated to upper-layer on receiving
GET_STATION vendor command, after disconnection.

Change-Id: I2e5a0be42d81b86e6f4490de1bdf9d7e0797506d
CRs-Fixed: 2126182
2018-01-08 09:39:09 -08:00
Vignesh Viswanathan
9dd88d39b7 qcacld-3.0: Determine transition status for BSS transition candidates
Determine bss transition status for preferrable candidates provided
by userspace based on the transition reason, rssi of connected and
candidate bssids and other parameters like whether transitiong to the
candidate will result in sub-optimal scenario. The transition status
is either accept or a reason for reject.

Change-Id: Ib83c81909f4d8e31b4125309b8ac392a26a0d6bf
CRs-Fixed: 2007107
2017-12-28 21:26:31 -08:00
Hanumanth Reddy Pothula
07e5f99716 qcacld-3.0: Remove FW memory dump feature
qcacld-2.0 to qcacld-3.0 propagation

FW memory dump feature is no longer used. Hence remove FW memory
dump feature code changes.

Change-Id: Ida655f83630c369df746e7c0c9d61a8fee2932a2
CRs-Fixed: 2140261
2017-12-28 11:54:10 +05:30
Paul Zhang
72697bdc04 qcacld-3.0: Add ini hostscan_adaptive_dwell_mode_no_conn
This ini will set the algo used in dwell time optimization
during host scan without connection.

Change-Id: Ie81636d32b6c42651aa9b5de52889970c17f6aca
CRs-Fixed: 2159656
2017-12-20 07:26:06 -08:00
Paul Zhang
99fe884782 qcacld-3.0: Implement interface to set WLM level
WLAN Latency module (WLM) is added by fw to gain latency
because of schedule out of service like power saving,
scanning, roaming etc. per the level set by framework.

Change-Id: Id4305e5e66dcce464447aff56296c7d027347ea2
CRs-Fixed: 2142391
2017-12-11 22:08:19 -08:00
Padma, Santhosh Kumar
510f60ceec qcacld-3.0: Fix active cmd timeout issue
qcacld-2.0 to qcacld-3.0 propagation

There can be a possible race in updation of roam substate
between csrRoamWaitForKeyTimeOutHandler and upper layer
disconnect in csrRoamIssueDeauth. Race can be as follows.

Driver roam substate is eCSR_ROAM_SUBSTATE_WAIT_FOR_KEY by
the time csrRoamWaitForKeyTimeOutHandler is invoked. This
can allow check CSR_IS_WAIT_FOR_KEY to pass. If MC thread
gets preempted and if driver processes upper layer disconnect,
then driver changes roam substate to eCSR_ROAM_SUBSTATE_DEAUTH_REQ
in csrRoamIssueDeauth. When MC thread resumes processing of
csrRoamWaitForKeyTimeOutHandler, then driver changes roam
substate to eCSR_ROAM_SUBSTATE_NONE. This can result in
unhandling of eWNI_SME_DEAUTH_RSP as roam substate is not in
eCSR_ROAM_SUBSTATE_DEAUTH_REQ and can result in active command
timeout. Hence, update roam substate atomically in same context
if CSR_IS_WAIT_FOR_KEY passes in csrRoamWaitForKeyTimeOutHandler.

Change-Id: I05cfc8de54fe4196df941c2fd48db8bedc7df779
CRs-Fixed: 2155141
2017-12-08 03:38:39 -08:00
Varun Reddy Yeturu
a48bc418c6 qcacld-3.0: Fix implicit enum conversion in csr_fetch_valid_ch_lst
Fix implicit conversion from enumeration type 'tSirRFBand'
to different enumeration type 'eCsrBand'

Currently 3 different types of enums exist to enumerate the
band type.Remove eCsrBand and tSirRfBand and
use tSirRFBand everywhere.

Change-Id: I1862c6d3a5daca7523870b7f0931ee4f20c7ce4f
CRs-Fixed: 2145080
2017-12-07 23:18:56 -08:00
Naveen Rawat
b0c5b6b6a0 qcacld-3.0: Statically allocate DPH hash table
DPH hash table is allocated for each session of depth equal to
max possible peers. This memory chunk goes upto 33KB in size and
may fail. Instead allocate the memory from BSS segment so that
run-time allocation is not needed.

Change-Id: I56d6adb7934faef1940ab8515fed30646f536ab2
CRs-fixed: 2149563
2017-12-07 19:26:50 -08:00
Padma, Santhosh Kumar
c69ce070a9 qcacld-3.0: Add support for OWE
Add AKM suite changes to support Opportunistic Wireless Encryption.
Also, add changes to populate OWE IE's if OWE AKM is present.

Change-Id: I3cf9e5b0a5980e4f535034127dbc4c6e54764da6
CRs-Fixed: 2141423
2017-12-06 13:27:21 -08:00
Padma, Santhosh Kumar
2d1f77c9a0 qcacld-3.0: Fix to update KRK/BTK for ESE connection
Currently driver updates KRK/BTK only during RSO start.
Supplicant can update these KRK/BTK during timeout. But
driver currently does not update KRK/BTK dynamically.
This can lead to MIC failure in firmware and cause
roaming failure. Update KRK/BTK as and when they are
received using RSO update to fix this issue.

Change-Id: Ib3ee656e63920d0162dea56eef7f052c585bb5a4
CRs-Fixed: 2149232
2017-12-02 19:26:31 -08:00
Krunal Soni
8d184fa082 qcacld-3.0: (Part-1) Refactor open & close session logic in SME module
Current open and close session APIs mainly defined in HDD, SME, and SAP
modules are not proper. They require some design changes to maintain the
consistency.

In order to achieve the goal of making symmetrical design for open and
close session logic, refactor existing API in SME module which could
serve as stepping stone for SAP module and HDD module changes.

CRs-Fixed: 2147968
Change-Id: If39d191084a9f3f58b88f36d71cf42878a43b484
2017-11-22 17:41:20 -08:00
Yeshwanth Sriram Guntuka
ae03c430dc qcacld-3.0: Avoid auto ps timer to prematurely enable power save
Android framwork decides when to put driver in power
save state. When it disables powersave driver starts
a timer to re-enter power save which is not required.
Fix this by not starting auto ps timer for power save
disable case. Framwork sends disable power save in
disconneced state and driver  returns error, Due to
this firmware power state is still in BMPS and it
reenables power save immediately after connection
and this causes power state mismatch between framwork
and driver/firmware. Fix is to handle full power
request in disconnected state and send this full power
request to firmware as it can handle it.

Change-Id: Ib17c898b8288de31c424896acbfe89216e59ff49
CRs-Fixed: 2143017
2017-11-15 02:29:43 -08:00
Abhishek Singh
34c0e6361c qcacld-3.0: Add ini support for rssi abs thresh for the candidate AP
The RSSI value of the candidate AP should be higher than rssi_abs_thresh
to roam to the AP. 0 means no absolute minimum RSSI is required.

The value sent to the firmware is the offset from the noise floor in dB.

Change-Id: Ic956a184ac9a241e310b5d46ee6c70b9d1962446
CRs-Fixed: 2118279
2017-11-14 11:27:40 -08:00
Vignesh Viswanathan
32761e468e qcacld-3.0: Add support to enable/disable FILS runtime
Currently, FILS feature is enabled with ini parameter
[is_fils_enabled] at init time. This change adds support
to enable disable FILS from vendor command.

Change-Id: I0c84d777a6259c96233a4777f184ddf6f7bc58af
CRs-Fixed: 2121214
2017-11-13 03:42:13 -08:00
Yeshwanth Sriram Guntuka
2ba6fe9132 qcacld-3.0: Add ini to configure different OCE features
Add ini support to configure different OCE features
which is sent as bitmap to firmware via vdev_set_param
command.

Change-Id: I2c679a6fe902e1b41ba984ed2255eee02ed29549
CRs-Fixed: 2121585
2017-11-10 09:38:49 -08:00
Jeff Johnson
c1e6278e02 qcacld-3.0: Use enum QDF_OPMODE
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.

Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141065
2017-11-10 00:27:42 -08:00
Abhishek Singh
02cb9e02f1 qcacld-3.0: Changes to support DPP AKM
Add changes to support and parse AKM required for DPP.

Change-Id: Ie38a6b78e94d3cd918c02c7314bcb5696f53db24
CRs-Fixed: 2137519
2017-11-08 21:57:22 -08:00
Jeff Johnson
172237b859 qcacld-3.0: Replace typedef tCsrRoamInfo
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tCsrRoamInfo typedef does not
meet any of those criteria, and the underlying struct is already being
used in some places, so replace all remaining tCsrRoamInfo references
with a reference to the underlying struct.

Change-Id: I1da4b04ec92e176fe28b33d30ec7823828c35c8d
CRs-Fixed: 2140349
2017-11-08 19:42:51 -08:00
Jeff Johnson
174b6a4956 qcacld-3.0: Rename struct tagCsrRoamProfile
Per the Linux coding style "mixed-case names are frowned upon" so
rename struct tagCsrRoamProfile.

Change-Id: If88fbb18cd521938105701d96173bae221be8de2
CRs-Fixed: 2140347
2017-11-08 19:42:46 -08:00
Jeff Johnson
e6bf719666 qcacld-3.0: Rename struct tagCsrDelStaParams
Per the Linux coding style "mixed-case names are frowned upon" so
rename struct tagCsrDelStaParams.

Change-Id: I60d6448f4bae15e604a8ea55e72a6070a6ebdfbe
CRs-Fixed: 2140346
2017-11-08 19:42:43 -08:00
Jeff Johnson
df66e3f0a6 qcacld-3.0: Rename struct tagCsrRoamInfo
Per the Linux coding style "mixed-case names are frowned upon" so
rename struct tagCsrRoamInfo.

Change-Id: I21e6c423408f74603e9b469cace00884274d2b61
CRs-Fixed: 2140345
2017-11-08 19:42:39 -08:00