Commit Graph

4495 Commits

Author SHA1 Message Date
Bala Venkatesh
2438a563c5 qcacmn: Add ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN
Add ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN option for the ini
gDualMacFeatureDisable. To enable DBS support for the
connection and disable DBS support for the scan.

Change-Id: I05c613467195fffac98e79b7e4a2991471ac1d80
CRs-Fixed: 2207820
2018-03-27 00:25:38 -07:00
Paul Zhang
b10508a903 qcacmn: Add regulatory update-25 to reg db
Add Regdomains: ETSI12, ETSI13, FCC5
Add Regdomain pairs: ETSI12_WORLD, ETSI13_WORLD
Change all Europe countries to ETSI13_World in the
LA country-to-RD mapping.

Change-Id: I4fb31fbd852994c6bcda5e6379de2f3df5aa8d4e
CRs-Fixed: 2182451
2018-03-26 22:10:43 -07:00
psimha
65180eceac qcacmn: Fix SW desc leak in defrag path
Free SW desc in failure paths of rx defragmentation.

Change-Id: I9d24c0db238cab0e330c710b6328a347b6c07590
CRs-Fixed: 2208292
2018-03-26 18:55:33 -07:00
Mahesh Kumar Kalikot Veetil
fe276b3bc7 qcacmn: Fix qdf_get_monotonic_boottime_ns()
Fix the API implementation to account for time spent in system
suspend. This matches with API qdf_get_monotonic_boottime()
implementation.

Change-Id: I4bf8980bfc4500c035e8de7df4d8a18dfc6775ae
CRs-Fixed: 2211953
2018-03-26 16:32:28 -07:00
Om Prakash Tripathi
581297b4d9 qcacmn: Fix null pointer dereference in scan
Make sure passed pointer is non null before accessing it.

Change-Id: I62fd051f13265070954d1e6ae7d9e9ea7efe3ba3
CRs-Fixed: 2212629
2018-03-26 16:32:26 -07:00
Vivek
2b109825ac qcacmn: Replace A_UINT with appropriate types
There are instances of use of older A_UINT/A_INT.
Replace all such instances with the qdf u_int*_t/int*_t.

Change-Id: I7ce29b03f29a0d1a0cf87cfd3c846f4694da4c2a
CR's-Fixed: 2210869
2018-03-26 04:58:12 -07:00
gaurank kathpalia
74f2a30e7d qcacmn: Modify dwell time and DBS scan based on scan request
Based on the scan request flags from kernel, modify the
adaptive dwell time and DBS scan request policy.
In high accuracy mode, disable DBS scan and adaptive dwell
time scan mode.
In a low power/span mode, enable aggressive adaptive dwell time
and DBS scan to save power and time.

Change-Id: I23498799c05a252cbc9c9f6d50b847130dd0ceac
CRs-Fixed: 2197171
2018-03-24 02:51:22 -07:00
sumedh baikady
668d8679ff qcacmn: Fix minor pn_size init and index check
1. In hal reo setup initialize pn_size to avoid uninitialization
in default case.
2. In hal validate shadow register function, fix the check
for index as shadow_config array can take 0 to 35 as index values.

Change-Id: I8b729dc70053e333ef659ba38fb0c2f66cd8b35a
CRs-fixed: 2208799
2018-03-23 21:38:54 -07:00
Arif Hussain
6fcc790e98 qcacmn: Add correct api call to get proper boot time
Propagation from qcacld-2.0 to qcacmn
Missing changes from Ibcc628c315201fa3ced7e1ad96753772d91707b2

Currently to get clock boottime, qdf_get_monotonic_boottime_ns
api is getting used which does not include the suspend time.
To include the system suspend time also in clock boottime, use
qdf_get_bootbased_boottime_ns api which uses ktime_get_boot_ns
kernel api.

Change-Id: I4a9a783ce0cc164404d89c23d57b02746154aa46
CRs-Fixed: 2203527
2018-03-23 21:38:52 -07:00
Santosh Anbu
929e1e9760 qcacmn: Send WMI cmd only on completion of wmi_init
Call WMI cmd to set btcoex only on successful completion of WMI init.

Change-Id: Ifd911f7729fd47f6ff2ad1c3e8b16f53db5689e4
CRs-Fixed: 2208266
2018-03-23 09:56:03 -07:00
Soumya Bhat
33a8822118 qcacmn: Fix use after free for vdev
In existing code vdev is getting referenced after being
freed, during pdev detach while releasing tx descriptors.

Add code to drain tx descriptiors during vdev detach.

Change-Id: I2ea447d5d0a5be6539fddacb4b1c0b5f4601a71e
CRs-Fixed: 2203070
2018-03-23 07:20:04 -07:00
Vivek
077f9c27fc qcacmn: Enable QDF parsing and file read functionalities
Enable the QDF parse and file reading functionalities in
Kbuild of QDF for using INI CFG component.

Change-Id: Ia6763d75e81d8b35da50fb08365fb5c2498d7b0a
CR's Fixed: 2148694
2018-03-23 07:20:02 -07:00
chenguo
07e2404dd9 qcacmn: Add reaping RXDMA status ring for 2.4GHz MAC for PKTLOG
Traffic will hang during PKTLOG operations for 2.4GHz Mac. The reason
is that Reaping operation is missed for RXDMPA status ring for MAC1.

Add reaping MAC1 along with MAC0 for 2.4GHz band during PKTLOG
operations in mission mode.

CRs-Fixed: 2198593
Change-Id: I8591c6cd85d7970c2d0835e18dbfd74d2aaae08e
2018-03-23 04:37:41 -07:00
Abhijit Pradhan
ed8c9d3bc8 qcacmn: Have separate macros for DA/PO/FO to reduce the code size
Since, an AP may have any combinations of DA,PO, and FO chips on it,
having support for all chips always is redundant. Therefore, enable the
chip specific code as and when required.
DA:- Direct attach
PO:- Partial offload
FO:- Full offload
WLAN_DFS_DIRECT_ATTACH    :- enable/disable DA specific DFS code.
WLAN_DFS_PARTIAL_OFFLOAD  :- enable/disable PO specific DFS code.
WLAN_DFS_FULL_OFFLOAD     :- enable/disable FO specific DFS code.

Change-Id: I498ac1f8cd1d6423032d7b3b8c233656c5f0bf22
CRs-Fixed: 2199819
2018-03-23 03:18:32 -07:00
Shiva Krishna Pittala
d75cdc199e qcacmn: Fix Spectral KW issues
Add null pointer checks in Spectral component

Change-Id: I42eb678f2d90d38c3c8afee8c010970783e66f52
CRs-Fixed: 2206406
2018-03-23 03:18:30 -07:00
Abhiram Jogadenu
27d55ecd7d qcacmn: Add support for PPDU ACK timestamp
Make Ack timestamp same as PPDU END timestamp

Change-Id: I4030f461ed19d46e176819168ceca735c7c63f9f
2018-03-21 22:42:50 -07:00
Chaithanya Garrepalli
a4ea3a95ef qcacmn: remove addtional checks in __dp_peer_find_by_id
Remove checks which are not needed from __dp_peer_find_by_id

Change-Id: I31e660ef8af070cd6e3f7a892ffd9cc05ec21712
2018-03-21 22:42:48 -07:00
Bala Venkatesh
ee82634a98 qcacmn: Remove macro WMI_DEBUG_ALWAYS
Remove WMI_DEBUG_ALWAYS macro as part of clean up
unused macros.

Change-Id: I46e16b532e56a7015ac1c9643edbf0626bc0611e
CRs-Fixed: 2200010
2018-03-21 22:42:46 -07:00
Sravan Kumar Kairam
ea66b6843b qcacmn: Modify WMI cmd to point to IPA CLD component
IPA module has been moved to CLD component under the converged
driver model. Point the wmi API's and structures to the newly
defined files.

Change-Id: I96205f7cc18dbea1c05a5f6314490ea6b3dd75fd
CRs-Fixed: 2180176
2018-03-21 18:57:49 -07:00
Venkata Sharath Chandra Manchala
8ec45bbd33 qcacmn: Propagate reception type parameter
Propagate reception type data captured at peer level
to pdev level

Change-Id: Ie57ee07d6deccbf4aa5259d9e30bd1437fb304ee
CRs-Fixed: 2207518
2018-03-21 18:57:46 -07:00
Amar Singhal
0894f015d8 qcacmn: Use the right index while accessing ipv6 array
Zero comp value if changed; would be 1 to 8. When accessing
ipv6 array, the access can go out of bounds if value is 8 since
the bytes array is of size 16 (0 to 15). Fix that.

Change-Id: I38eb1d3be2840bfbb5fdc9c72606ce51e29cb0ce
CRs-Fixed: 2196076
2018-03-21 17:27:51 -07:00
Rajeev Kumar
19735e75ce qcacmn: Rate limit CE access log to avoid watchdog bark
Rate limit CE access log to avoid watch dog bark because of
excessive console logging.

Change-Id: I460a39f02206f651eafc26febd5628766e471483
CRs-Fixed: 2207647
2018-03-21 15:29:48 -07:00
Dustin Brown
f74576cb84 qcacmn: Add TX credits after WMI logging
While processing a host-to-target credit report, the number of available
credits is incremented before recording the credit report event in the
WMI history log. This can lead to tricky debug scenarios where there is
an available credit, but the WMI history log does not show that a credit
report has been processed. In htc_process_credit_rpt, log the credit
report in the WMI history log before incrementing the available credits
field.

Change-Id: Id8632c85348bec38b6c46549a68f613d102b2ae5
CRs-Fixed: 2204248
2018-03-21 13:52:19 -07:00
Neil Zhao
6b6bf629d2 qcacmn: Fix The beaconing functionality of Mesh vap fails
Enable mesh vap beaconing ioctl is sent via
vdev setting WMI cmd for WMI_VDEV_PARAM_CAPABILITIES.
But the vdev_param array for tlv is not populated.

Change-Id: Icefd3a506baf3459b95cdc31bd447f80068954df
CRs-Fixed: 2141343
2018-03-21 13:52:17 -07:00
Santosh Anbu
efe6c5a884 qcacmn: Increase log level of HIF module
Increase log level of HIF module to ERROR so as to print the CE Ids
when dumping the CE registers as part of target failure handler.

Change-Id: I278f836590cd717c7bdeaf414023aeb646f9da2f
CRs-Fixed: 2205508
2018-03-21 05:57:50 -07:00
Sravan Kumar Kairam
376e5f1e3f qcacmn: Add IPA component related definitions
As part of IPA componentization remove IPA from HDD module
and make it as an independent component. Add qdf module ID
and Objmgr ID for IPA module.

Change-Id: Id99089f8188e8b1dbf7e1f60d3a127bec770706d
CRs-Fixed: 2180176
2018-03-21 03:39:37 -07:00
Nandha Kishore Easwaran
ac0b96edf9 qcacmn: Add Pktlog service msg in ce config
Add pktlog service message for CE5 in CE configuration.

Change-Id: I49dddd11ca1805a9f519b881d573e8ff4b7ffeb2
CRs-fixed: 2209371
2018-03-21 03:39:35 -07:00
Amir Patel
2b2435e564 qcacmn: Avoid memory use after free in scan node delete
Scan node del API is modified to check refcnt before
deleting node. Mark node delete with scan node del before
releasing ref to avoid get ref

Change-Id: I1cde576cd47eb4effe8af38c2d77f02a21349dfb
CRs-Fixed: 2208987
2018-03-21 03:39:33 -07:00
Om Prakash Tripathi
8a54599b3a qcacmn: put bss reference taken in cfg80211_inform_bss_frame
cfg80211_inform_bss_frame_data() takes an extra reference of
bss and it shall be freed by caller.

Change-Id: I6e2a37327fc369d01d237e7ff57221333709b53f
CRs-Fixed: 2205608
2018-03-21 03:39:31 -07:00
Krunal Soni
d45830e34f qcacmn: Add new diag event to capture connection stats
Add diag event and its structure to log various connection statistics
after the connection has been made.

Change-Id: I3572cd9230d89e2d4154fd43579c258a2e2bdb58
CRs-Fixed: 2208509
2018-03-20 22:35:20 -07:00
Krunal Soni
6ace02054e qcacmn: Add new diag events to log TX and RX mgmt frames
Add diag events and their structures to log TX and RX mgmt
frames.

Change-Id: I2f30c46d0087dc6a31fcb874713a574fe5936ea7
CRs-Fixed: 2208506
2018-03-20 22:35:17 -07:00
Ashok Ponnaiah
455eb68470 qcacmn: export few crypto functions
Export few crypto function for other modules use.

CRs-fixed: 2203383
Change-Id: If9ee188b96d1c537a3fe7f5c37e85683fe069276
2018-03-20 22:35:15 -07:00
Dustin Brown
950ceeeb80 qcacmn: Add configuration component implementation
Add the implementation for the new configuration component.

Change-Id: If94e9b4015a7c43674112925206b54a33bd3e340
CRs-Fixed: 2196022
2018-03-20 20:02:22 -07:00
Dustin Brown
00e22124e6 qcacmn: Add configuration component header files
Add header files for the new converged configuration component.

cfg_dispatcher.h: Contains dispatcher lifecycle handlers
cfg_define.h: Tools for components to define new configuration metadata
cfg_ucfg.h: Contains APIs for consuming configuration at runtime
cfg_converged.h: Contains a collection of configuration metadata from
	all the converged components

Change-Id: Ief5d3e33dca1bc5f8dba47d9e0c03a97ad1b371f
CRs-Fixed: 2196017
2018-03-20 20:02:20 -07:00
Dustin Brown
f02993c7ec qcacmn: Rename QDF_TRACE_RATE_LIMITED
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers. Instead of using QDF_TRACE_RATE_LIMITED
directly, consumers should use the level-specific versions instead.
To prevent new consumers of QDF_TRACE_RATE_LIMITED in the future,
rename this API to __QDF_TRACE_RATE_LIMITED.

Change-Id: I06d35f5277fe2e11fbcc0e7e00b6fa99a84bda78
CRs-Fixed: 2208564
2018-03-20 20:02:18 -07:00
Manjunathappa Prakash
86f4ba70f3 qcacmn: Allocate HW link desc pools for each mac
MCL operates on both macs with single pdev. So allocate HW link
descriptor pools for each macs.

Change-Id: I5a373bfbd1d15557e1fc66b8af17c2a130cdf5f9
CRs-Fixed: 2176848
2018-03-20 15:55:02 -07:00
chenguo
cd0f313885 qcacmn: Add RXDMA err process for RING 1
In monitor mode, it is needed to reap RXDMP error ring for RING1.
Also need to replenish for RING1.

Add this missing operations.

CRs-Fixed: 2190071
Change-Id: I8cd60c6cb70b472a26d55783d0964e85e99680b9
2018-03-20 15:55:00 -07:00
Manjunathappa Prakash
d9ce350f01 qcacmn: Initialize and reap both 2.4GHz and 5GHz MACs
Initialize MAC1 along with MAC0. 2.4GHz monitor mode operates on
MAC1 so initialize MAC1 and reap both MAC0 and MAC1.

Change-Id: Id281def37d460b224f5f571893266f193846fd0c
CRs-Fixed: 2176848
2018-03-20 15:54:58 -07:00
jitiphil
0081d767f1 qcacmn: Fix buffer overflow in process_tx_info and process_rx_info
Currently data in "pl_tgt_hdr" is used directly from firmware without
any length check which may cause buffer over-read.

To address this issue add length check before accessing data offset

Change-Id: Ic2930fdf7168b79a8522be282b0e1cd19214742a
CRs-Fixed: 2191170
2018-03-20 14:34:00 -07:00
Chaithanya Garrepalli
974da2640a qcacmn: Avoid reference of peer object after peer_teardown
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.

Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
2018-03-20 07:38:25 -07:00
Nandha Kishore Easwaran
3053deedfa qcacmn: Avoid mcast check in qwrap isolation mode
Donot perform mcast echo check in case of qwrap isolation mode.
In qwrap isolation mode, packets from wired station reaches the wireless
station via the rootap. Thus we need to allow loopback packets in qwrap
isolation mode.
Also add a configuration to set isolation mode.

Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0
CRs-fixed: 2204033
2018-03-20 05:59:09 -07:00
Tallapragada Kalyan
71c46b9357 qcacmn: WDS and AST specific code under different compile time flag
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.

Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
2018-03-20 05:59:07 -07:00
Om Prakash Tripathi
dc56b1e39a qcacmn: Detach scan object on release memory callback
Detach scan start request object from serialization object
on release memory callback. It's requred as some times
serialization ends up calling callback funtcions even after
calling release memory command due to race conditions.

Change-Id: Id0f74032de40bad679c27fe3e5ab1bf83e6dfcf5
CRs-Fixed: 2208227
2018-03-20 05:59:04 -07:00
Anish Nataraj
5034701e13 qcacmn: Assign ldpc from ppdu info and non-amsdu counter increment
Update ppdu rx stats ldpc value into cdp rx indication structure
Also, increment non-amsdu counter for peer/vdev/pdev level stats

Change-Id: I252b71756db7019c5a6d60eeebf9f0c782266e34
2018-03-20 02:10:09 -07:00
Anish Nataraj
0dae67614e qcacmn: Assign bss peer in peer map event
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer

Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
2018-03-20 02:10:07 -07:00
Manikandan Mohan
eb61d7e09f qcacmn: Add WLAN Module name as log prefix
Add WLAN module name as logging prefix in multiple wlan driver
compilation environment for differentiating the logs pertaining
to each driver module.

Change-Id: Ib3aeaa280e3beb0de8ceb105e0989cb6004964d6
CRs-fixed: 2197751
2018-03-19 19:58:20 -07:00
Manikandan Mohan
b5387d4102 qcacmn: Fix export symbol for multi drivers compilation
Update dfs module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Ib1b9605b7c017b1f366fe01b8f7e1ca0379fe217
CRs-fixed: 2197751
2018-03-19 19:58:18 -07:00
Manikandan Mohan
3fc6592581 qcacmn: Fix export symbol for multi drivers compilation
Update wmi module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I44970ae510839cdf8f0e8446e39c4b6567eb2b93
CRs-fixed: 2197751
2018-03-19 19:58:16 -07:00
Manikandan Mohan
0f3c99b8ef qcacmn: Fix export symbol for multi drivers compilation
Update objmgr module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I603a164ecfa2cc21f56cd823c84fb4b430546701
CRs-fixed: 2197751
2018-03-19 19:58:14 -07:00
Manikandan Mohan
a2993a595c qcacmn: Fix export symbol for multi drivers compilation
Update umac module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Id982b3e0593b7c90244f2025decd10e97cb62f9c
CRs-fixed: 2197751
2018-03-19 19:58:12 -07:00