Commit Graph

516 Commits

Author SHA1 Message Date
Jeff Johnson
2d29212dc8 qcacld-3.0: Rename tHddHandle
Per the Linux coding style "mixed-case names are frowned upon" so
rename typedef tHddHandle to hdd_handle_t to align with the Linux
typedef naming convention.

Change-Id: I34849ed819b31564ca561a1718083793bf30a0a3
CRs-Fixed: 2254953
2018-06-06 20:28:16 -07:00
Jeff Johnson
0a078b5a23 qcacld-3.0: Fix HDD WPA/RSN IE layering violation
Currently HDD is directly calling csr_roam_get_wpa_rsn_req_ie() and
csr_roam_get_wpa_rsn_rsp_ie(). That is a layering violation since HDD
should be calling SME APIs; CSR APIs are meant to be called by
SME. And SME already exposes two APIs which, in turn, call those CSR
APIs. However those SME APIs, sme_roam_get_security_req_ie() and
sme_roam_get_security_rsp_ie(), are defined to take an extra secType
parameter which is then unused. To clean up this mess modify the SME
APIs to have the same naming and parameters as the CSR APIs and update
HDD to call the SME APIs.

Change-Id: I0ba2f056e089818ab04a8d421e3d8c571e312831
CRs-Fixed: 2254949
2018-06-06 20:28:02 -07:00
Jeff Johnson
330c0bf8ef qcacld-3.0: Fix sme_update_channel_list() API
Currently sme_update_channel_list() is defined to take a
tpAniSirGlobal mac_ctx. However SME APIs are supposed to hide the fact
that they operate on tpAniSirGlobal and instead should be taking a
tHalHandle. Furthermore a tHalHandle is what is currently being passed
by HDD.  Therefore update sme_update_channel_list() to take a
tHalHandle.

Change-Id: I2f424a6c11342470fd6885968d635109327be3f0
CRs-Fixed: 2254947
2018-06-06 20:27:56 -07:00
gaurank kathpalia
99d06c14e9 qcacld-3.0: Fill PMK info in pmk_cache in NON-FILS case
Currently the firmware supports FILS by default, and the
kernel and driver have dependencies on the kernel version
for FILS support. The PMK info i.e the PMK length and the
PMK itself is sent to the firmware as part of roam
scan offload params, and are filled from the PMK
received from the CFG layer via csr_roam_set_psk_pmk.
The PMK and its parameters are received via a vendor
command, and called via ops wlan_hdd_set_default_mgmt_key.
With the presence of FILS feature, the pmk is filled
via hdd_fill_pmksa_info(), which fills the PMK,PMK
length to the pmk_cache. It is called via ops
wlan_hdd_cfg80211_set_pmksa. But in the NON-FILS case,
the PMK, PMK length received from the CFG layer is NULL
and zero respectively, and hence the firmware which expects
a valid PMK and PMK length gets a PMK as NULL , and the
PMK length as zero, which will lead to deletion of the
pmk received earlier via vendor command, also a fresh 8-way
handshake from the HOST, rather than a 4-way handshake
from firmware if the PMK-ID for that particular AP(BSSID)
matches the PMK-ID in the AP.

Fix is to fill the params of PMK, PMK length in the NON-FILS
case too by copying the params received previously via the vendor
command, where the params are stored in the session itself.
Hence it will fulfill the requirement of the PMK, PMK len
from the firmware, and lead to a faster handshake process
while re-associating.

Change-Id: I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620
CRs-Fixed: 2243070
2018-06-06 05:49:17 -07:00
Dundi Raviteja
3bcf3a89e3 qcacld-3.0: Use request manager to get NUD stats
Use request manager for handling get NUD stats

Change-Id: Ie1a15de440803d007d16568138d4a8e7692a30d4
CRs-Fixed: 2246435
2018-06-01 12:02:35 -07:00
wadesong
cb0ded2438 qcacld-3.0: Add diag event support for ACS
Send ACS diag event when SAP is doing ACS.

Change-Id: I409b57dce98a12796cfee1619c8efe47a403bd1d
CRs-Fixed: 2238666
2018-05-31 19:23:07 -07:00
Krunal Soni
8a090df3e5 qcacld-3.0: Pass the arg by reference while calling sme_pdev_set_pcl()
While calling sme_pdev_set_pcl() API, driver is passing the argument
by value. The size of the argument is 280 bytes which is not good
design.

Pass the argument by reference instead of passing it by value to make
design simple.

CRs-Fixed: 2233212
Change-Id: I92849fb125fe864c1c7c7977bce392a7bcfe4121
2018-05-30 13:57:15 -07:00
Sandeep Puligilla
36470614c0 qcacld-3.0: Remove unused commands
Remove unused serialization commands like
eSmeCommandEnterStandby
eCsrSmeIssuedReassocToDiffAP

Change-Id: I30b9aeb29702b33d94c0ec61258971120cc09a97
CRs-Fixed: 2245048
2018-05-24 07:51:46 -07:00
Kiran Kumar Lokere
6c7f3fae12 qcacld-3.0: Add configuration support to enable/disable Tx BF
Add support to dynamically enable/disable the tx beamformee
support.

Change-Id: I205fd352d731e9b26654b8bbbbc459d2798b03be
CRs-Fixed: 2241816
2018-05-23 17:35:07 -07:00
Naveen Rawat
fa2a100bac qcacld-3.0: Add implementation of get_station_stats
Add changes to support get station stats from within cp_stats
component.

Change-Id: Id685e9d94f185ee562f21d12d118e94a737a6a7e
CRs-Fixed: 2210338
2018-05-19 10:56:45 -07:00
Jeff Johnson
698eacd7a7 qcacld-3.0: sme: Fix misspellings
Address the following issues in the core/sme folder:
CHECK 'accomodates' may be misspelled - perhaps 'accommodates'?
 (actually accommodated)
CHECK 'acknowledgement' may be misspelled - perhaps 'acknowledgment'?
CHECK 'becasue' may be misspelled - perhaps 'because'?
CHECK 'becuase' may be misspelled - perhaps 'because'?
CHECK 'catagory' may be misspelled - perhaps 'category'?
CHECK 'explictly' may be misspelled - perhaps 'explicitly'?
CHECK 'failue' may be misspelled - perhaps 'failure'?
CHECK 'fucntion' may be misspelled - perhaps 'function'?
CHECK 'infomation' may be misspelled - perhaps 'information'?
CHECK 'inteface' may be misspelled - perhaps 'interface'?
CHECK 'managment' may be misspelled - perhaps 'management'?
CHECK 'messsage' may be misspelled - perhaps 'message'?
CHECK 'Notifed' may be misspelled - perhaps 'Notified'?

As well as the following spotted during code review:
'sucsess' -> 'success'

Change-Id: Ieaa299d4dbc08c07f10aaf9d967336ac7b11d88d
CRs-Fixed: 2241947
2018-05-18 02:17:01 -07:00
Kiran Kumar Lokere
e43a458fdc qcacld-3.0: Fix the issue with LDPC disable
LDPC dynamic configuration setting is not updated into session
configuration hence LDPC disable do not happen when user disable
it. Update the session configuration parameters for LDPC with
user settings.

Change-Id: Ic0b5f2b17cde5746054f90d78d6c99624444d086
CRs-Fixed: 2235936
2018-05-17 11:34:42 -07:00
Himanshu Agarwal
d519b4ab08 qcacld-3.0: Release WM status change cmd after eWNI_SME_DISCONNECT_DONE_IND
When deauth is received from AP, while processing of deauth frame,
WM status change command is queued in SME command pending list with
priority set as true in which DEL_BSS and DEL_STA happens leading to
VDEV_STOP AND VDEV_DOWN correspondingly.

When disconnect is issued from upper layer, ROAM command with reason
eCsrForcedDisassoc gets queued in SME command pending list with priority
set as true which performs DEL_BSS nad DEL_STA and then
eSmeCommandDelStaSession SME command is queued with priority set as false
which performs DEL_SELF_STA.

If disconnect is issued from upper layer and deauth is received from AP at
the same time, it might happen that ROAM SME command and
eSmeCommandDelStaSession SME command gets queued in SME command pending
list but WM status change command gets queued on top of these as priority
is set to true before the former commands can be processed. While
processiing of WM status change command, eWNI_SME_DEAUTH_CNF msg gets
queued in SME message queue which queues WMA_DELETE_BSS_REQ in WMA msg
queue. If WM staus change command is released just after
eWNI_SME_DEAUTH_CNF is posted, it might happen that Roam and
eSmeCommandDelStaSession SME commands from SME command pending list gets
processed first which will queue WMA_DEL_STA_SELF_REQ in WMA msg queue
before eWNI_SME_DEAUTH_CNF gets processed and queue WMA_DELETE_BSS_REQ
in WMA msg queue. This leads to processing of WMA_DEL_STA_SELF_REQ before
WMA_DELETE_BSS_REQ causing assert as this is unexpected behaviour.

Release WM status change command only after eWNI_SME_DISCONNECT_DONE_IND
which happens after WMA_DELETE_BSS_REQ and WMA_DELETE_STA_REQ gets
processed so that ROAM and eSmeCommandDelStaSession SME commands gets to
process only after processing of DEL_BSS and DEL_STA and so
WMA_DEL_STA_SELF_REQ will always be processed after WMA_DELETE_BSS_REQ
avoidong system assert.

Change-Id: Iec0176fecf218e07f31b258c0dc52aefb480defe
CRs-Fixed: 2211622
2018-05-16 15:13:55 -07:00
Arif Hussain
0e24680997 qcacld-3.0: Add support to send A-MSDU aggregation type to firmware
Add support to send A-MSDU aggregation type to firmware.

Change-Id: Id97efa6b7ff658b11462f9d6b6c8e79107e5f128
CRs-Fixed: 2234350
2018-05-15 13:54:08 -07:00
Vignesh Viswanathan
a2f5ce580a qcacld-3.0: Validate channel list from ioctl before sending to fw
Currently the channel list received from the SETROAMSCANCHANNELS
driver command is passed directly to the FW without checking if it
contains any invalid channels leading the firmware to assert if the
list contains unsupported channels.

Validate the channel list received from the ioctl with the base
channel list and send to firmware only if all the channels in
the list are valid

Change-Id: Ia502eecb97e34de854a75a6af7ffb8ccc02a7e52
CRs-Fixed: 2231242
2018-05-15 04:33:46 -07:00
gaurank kathpalia
c63859d9f0 qcacld-3.0: Send RSN caps in RSO command
Association request initiated by the host contains
the RSN capabilities which contains both the flags
of PMF, i.e PMF required and PMF capable. The DUT
may connect to a non PMF AP or only a PMF capable AP,
if the DUT is PMK capable and not PMF required,
but connection to a non PMF AP isnt allowed
if the DUT is configured as PMF required.
In the Association request, the DUT advertises its
RSN capabilities, and accrding to them, the connection
(PMF/non PMF) happens. But these capabilities arent
sent to the firmware, so while roaming, the DUT may
connect to a non-PMF AP, as in the re-assoc request
the DUT would still advertise PMF-REQUIRED as false,
which would be violation of protocol.

Fix is to send these RSN capabilities to the
firmware as part of roam scan offload params,
to have firmware save the configuration, and
send the RE-assoc request with PMF required as
true, if the DUT supports PMF required.

Change-Id: Iff58f7ba3b2fee7a834bd625225bbb3d62f33557
CRs-Fixed: 2234977
2018-05-14 10:26:21 -07:00
Srinivas Girigowda
eb6ecf3f96 qcacld-3.0: Consistently use policy_mgr_dual_mac_config
Remove duplicate structs wmi_dual_mac_config and sir_dual_mac_config
and use policy_mgr_dual_mac_config.

Change-Id: I6da6539f519ec46ee274ba3f3ae042e5fd9c25d2
CRs-Fixed: 2190993
2018-05-12 04:31:13 -07:00
Jeff Johnson
5d310d2a15 qcacld-3.0: sme: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: I0f45085f6a98b89a4468849ac00538100d903698
CRs-Fixed: 2229655
2018-04-24 14:48:34 -07:00
Paul Zhang
33fae2710d qcacld-3.0: Config number of TX sw retry per AC
Video/audio wireless application needs to tune parameters
per AC based. Config the number of TX sw retry per AC via
driver INI configuration file. It helps to improve the
video/audio performance in noisy environment.

Change-Id: Icffb5174b265b6453021b0d0a8ad3e12b695847a
CRs-Fixed: 2212954
2018-04-24 04:26:06 -07:00
Paul Zhang
ee09f8eefd qcacld-3.0: Configure the A-MPDU subframe per AC
Video/audio wireless application needs to tune parameters
per AC based. Configure A-MPDU subframe parameter per
AC via driver ini configuration file.

Change-Id: Id63be7aacf6465edee08f7a2f4c8a119f9bd6346
CRs-Fixed: 2212932
2018-04-24 02:30:41 -07:00
Abhinav Kumar
a95af7cbac qcacld-3.0: Add new ini to set min delay btw scan and reason bit-mask
Currently there is no provision to decide delay between two roam
scans in firmware. With these new ini's, driver wants to expose
control to decide delay between roam scans:

Add ini "min_delay_btw_scans" to set minimum duration allowed between
two consecutive roam scans. Fw should not allow roam scan if duration
between two consecutive roam scan is less than min_delay_btw_scan.

Add ini "roam_trigger_reason_bitmask" to set default value of
bit-mask containing roam_trigger_reasons for which
min_delay_btw_scans constraints should be apply.

Change-Id: I2af9d5dc8e6919eeb90251d3d744e3f07705e776
CRs-Fixed: 2221779
2018-04-19 22:06:23 -07:00
Abhinav Kumar
271f063980 qcacld-3.0: Add new ini to enable/disable FT open feature
Add new ini item "enable_ftopen" to enable/disable FT open
feature. There is no ini currently to disable only FT open.

Change-Id: I18280d9de77857b15698eb233ba4ec71089beb06
CRs-Fixed: 2214766
2018-04-18 18:38:54 -07:00
Abhinav Kumar
a083f21918 qcacld-3.0: Add new ini to set delay Hand-off period
Add new ini item "ho_delay_for_rx" to set delay Hand-off
period. For LFR 3.0 roaming scenario, once roam candidate
is found, firmware waits for minimum this much duration
to receive pending rx frames from current BSS before
switching to new channel for handoff to new AP.

Change-Id: Ided9a81e9402259f5df6b42926b3fa336b6bb4d0
CRs-Fixed: 2221748
2018-04-16 16:56:50 -07:00
Jeff Johnson
9bf3b65da5 qcacld-3.0: Remove obsolete WOWL messaging
The driver contains considerable debris from the obsolete WOWL
messaging, so clean it up.

Change-Id: I432f7fc1567b0aa31a7be758c05f2213340baed0
CRs-Fixed: 2223859
2018-04-15 10:17:50 -07:00
Tushnim Bhattacharyya
7b5b137807 qcacld-3.0: Remove WLAN_AP_STA_CONCURRENCY feature flag
STA+SAP concurrency is a default feature now. Remove
WLAN_AP_STA_CONCURRENCY feature flag.

Change-Id: I1200fa57b27ded67b0a17aa9e43c88926a822034
CRs-Fixed: 2223507
2018-04-14 07:37:33 -07:00
Kiran Kumar Lokere
a006a3010f qcacld-3.0: Add support to configure HE LTF
Add support for configuring HE LTF.

Change-Id: Ieabe844729c32c47403a7c94864cb689fa7fb8aa
CRs-Fixed: 2201837
2018-04-14 06:14:41 -07:00
Wu Gao
94488c28fb qcacld-3.0: Remove not used INI CFG
Cleanup not used INI configures. This is part of FR about WNI and INI
CFG.

Change-Id: I374e870610d79cc0d172ae126bfa70dc6d2db9a9
CRs-Fixed: 2206061
2018-04-13 14:51:19 -07:00
Ashish Kumar Dhanotiya
69e72bd66a qcacld-3.0: Remove CSR dot11f IE RSN max len
Max len of CSR_DOT11F_IE_RSN is 114 which is les than the
DOT11F_IE_RSN_MAX_LEN (130) which may result in array overflow
while parsing cckm ie.

TO address this replace CSR_DOT11F_IE_RSN_MAX_LEN to with
DOT11F_IE_RSN_MAX_LEN and remove CSR_DOT11F_IE_RSN_MAX_LEN
as it is not getting used anywhere else.

Change-Id: I58f93f37bd17653db2840720ab106c01f10d535e
CRs-Fixed: 2209355
2018-04-06 14:47:05 -07:00
Kiran Kumar Lokere
0e255175b6 qcacld-3.0: Add configuration support for VHT20 MCS9
Add user configuration to enable/disable the MCS9 in VHT20
operation.

Change-Id: I1bf1156dbeb51a7850ef5a5b66295ecc0d007542
CRs-Fixed: 2217038
2018-04-06 14:47:03 -07:00
Krunal Soni
5ee9ce4e2e qcacld-3.0: Remove dead code in protocol stack
Remove dead code in protocol stack.

Change-Id: I366705b8cf4cf13c030a6456c21dae94193d0d77
CRs-Fixed: 2216008
2018-03-30 17:00:09 -07:00
Jeff Johnson
682a7a5558 qcacld-3.0: Remove nBssLimit from struct csr_scanstruct
Remove unused field nBssLimit from struct csr_scanstruct.

Change-Id: I0f1f4b4608acd6332a9b3a2c48fc4bf430d187bd
CRs-Fixed: 2213060
2018-03-29 22:30:22 -07:00
Sandeep Puligilla
f5ccbf66e6 qcacld-3.0: Deprecate enum wmi_dwelltime_adaptive_mode
Deprecate enum wmi_dwelltime_adaptive_mode and use enum
scan_dwelltime_adaptive_mode defined in scan component.

Change-Id: I9c33b852172d9208fb8440c6dc71a12aefd717da
CRs-Fixed: 2213150
2018-03-29 06:57:42 -07:00
Jeff Johnson
60b5fe20cc qcacld-3.0: Remove osScanChannelMask
Remove unused field osScanChannelMask in struct csr_scanstruct.

Change-Id: Id19ae20ec04284f51ebf96645257e70cdd104467
CRs-Fixed: 2213058
2018-03-27 23:38:32 -07:00
Jeff Johnson
5bb67b78e4 qcacld-3.0: Remove obsolete idle scan flags
Remove the following obsolete fields from struct csr_scanstruct:
- fCancelIdleScan
- fRestartIdleScan
- nIdleScanTimeGap

Change-Id: I50fd4d966586487111a55fc378a06783636a7df9
CRs-Fixed: 2212877
2018-03-27 13:52:53 -07:00
Jeff Johnson
4877d76793 qcacld-3.0: Remove current country BSSID & RSSI fields
struct csr_scanstruct contains fields currentCountryBssid and
currentCountryRSSI which are obsolete, so remove them.

Change-Id: I47f40cc687b0e905d3c2db4ad67fa32f70d5181e
CRs-Fixed: 2212972
2018-03-27 13:52:51 -07:00
Jeff Johnson
ab093c3422 qcacld-3.0: Remove Is11dSupportEnabledOriginal
The flag Is11dSupportEnabledOriginal is obsolete, so remove it.

Change-Id: I41626673ab2a9a53cd4607c2c3682530ed1c0051
CRs-Fixed: 2212925
2018-03-27 13:52:48 -07:00
Jeff Johnson
bc5aecd951 qcacld-3.0: Remove eWNI_SME_CHANGE_COUNTRY_CODE message handling
Message eWNI_SME_CHANGE_COUNTRY_CODE is no longer being sent, so
remove it along with the handler for it.

Change-Id: I8fe5e1e8c0c18ab51d496dddd9604c3a4cb2b236
CRs-Fixed: 2212920
2018-03-27 13:52:43 -07:00
Jeff Johnson
0820d32488 qcacld-3.0: Remove obsolete "country change" trace code
TRACE_CODE_SME_RX_HDD_CHANGE_CNTRYCODE is obsolete, so remove it.

Change-Id: I4f86162cd912f69c7b08e3384412eec96367dc40
CRs-Fixed: 2212909
2018-03-27 13:52:40 -07:00
Jeff Johnson
c3b15737e1 qcacld-3.0: Remove obsolete sme_change_country_code()
Function sme_change_country_code() is obsolete, so remove it.

Change-Id: I1d4ce3cb8931982415f5c457d01cd6046208db44
CRs-Fixed: 2212903
2018-03-27 13:52:38 -07:00
Tushnim Bhattacharyya
3b99f4b181 qcacld-3.0: Deprecate enum sir_conn_update_reason
Deprecate enum sir_conn_update_reason & use enum
policy_mgr_conn_update_reason from policy manager component.

Change-Id: Id592d5405235f29a962a2a7d8b679fa4363f556d
CRs-Fixed: 2213000
2018-03-27 07:29:09 -07:00
Sravan Kumar Kairam
a0600b8a87 qcacld-3.0: Modify IPA UC offload control cmd
IPA module has been moved to CLD component under the converged
driver model. Remove legacy WMA interface IPA command and use
the new defined API.

Change-Id: Icd9a207f43f8df4dc563d0078d402470683cfd7d
CRs-Fixed: 2177925
2018-03-21 18:57:06 -07:00
Jeff Johnson
66ee8a92fe qcacld-3.0: Replace typedef tCsrRoamProfile
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 tCsrRoamProfile typedef does
not meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: Ie78bc34c5c39a56058d0daa0240047ec67392ab3
CRs-Fixed: 2207843
2018-03-19 19:57:58 -07:00
Min Liu
5eaf724da1 qcacld-3.0: Update scan list in FW when enable DFS scan
When enable DFS scan via wpa_cli, the related flag in mac context
also need to be updated so that DFS channels will be included in
configurations sent to FW accordingly when DFS scan is enabled.

Change-Id: I6033637364ddbc7e916627e5ab6a94aee825db98
CRs-Fixed: 2201307
2018-03-18 22:50:19 -07:00
Jeff Johnson
5cc21cea5b qcacld-3.0: Remove DPU signatures from struct csr_roam_info
In a prior version of the driver DPU signatures were used to
synchronize the Data Plane with the Control Plane. The DPU signatures
were provided to HDD by SME via fields in struct csr_roam_info, and
then HDD provided the fields to the Data Plane. But that mechanism is
no longer used and HDD does not read these fields so remove them along
with the logic that is currently used to fill them.

Change-Id: Ib056c20683e6b4f0d969fcff227476d53e040cc0
CRs-Fixed: 2200995
2018-03-13 07:34:56 -07:00
Rachit Kankane
0247191755 qcacld-3.0: Align structure to reduce Data Segment
Aligning structure variables properly can reduce memory requirement
of data segment. Thereby reduces over all memory requirement.

Change-Id: I8b1a704cb6ed852d23111b6ee9d14c883b889a78
CRs-Fixed: 2203674
2018-03-12 03:20:55 -07:00
Krunal Soni
01507bd566 qcacld-3.0: (PART-3) Remove obsoleted enums in SME module
Remove some of the obsoleted enums and structure's members
in SME module

Change-Id: Ia453fcd2ba41a939964b6e481195c6bc64de6ab6
CRs-Fixed: 2201799
2018-03-09 17:30:23 -08:00
Krunal Soni
e608a27cb8 qcacld-3.0: Remove obsoleted INI called gFixedRate
Latest driver is not using "gFixedRate" INI anymore and this INI
is not doing any meaningful work, so remove it.

Change-Id: Icf7ef052a722f25c4338dd8086b14ce01c6176d8
CRs-Fixed: 2201799
2018-03-09 17:30:20 -08:00
Krunal Soni
cbfdb12cfa qcacld-3.0: (PART-2) Remove obsoleted APIs in SME module
Remove some of the obsoleted APIs in SME module

Change-Id: Ia4f890706769e5ace1dcff2d57fb33f6e67e1297
CRs-Fixed: 2201799
2018-03-09 17:30:18 -08:00
Krunal Soni
795f9c2733 qcacld-3.0: (PART-1) Remove obsoleted APIs in SME module
Remove some of the obsoleted APIs in SME module

Change-Id: If865445d564a89bde133ca32272fff9594ce44fd
CRs-Fixed: 2201799
2018-03-09 17:30:15 -08:00
Kiran Kumar Lokere
3324f63c57 qcacld-3.0: Add support to set no ack policy for ac
Add support to configure no ack policy for WMM access category.

Change-Id: Idf87507b78cdaf0ac8fdfc975e4fcbe0957423fa
CRs-Fixed: 2198241
2018-03-09 00:10:33 -08:00