Commit Graph

9708 Commits

Author SHA1 Message Date
jinweic chen
5104601ba7 qcacld-3.0: fix non-linear data TX dma failed issue
Currently non-linear, non-tso TX data is not handled correctly,
only the non-tso, single linear data is supported. the frag paged
data in skb is missed while packet length for HW access
is entire packet length, HW DMA failed.

temporarily to linearize skb so that non-linear data could be TX
correctly.

Change-Id: Ic0f2b7a0b021ca190c870551a66181f50ae72c65
CRs-Fixed: 2180318
2018-04-14 06:14:38 -07:00
Rajeev Kumar
15b40a23a9 qcacld-3.0: Add CFG INI item to control various unit test features
Suspend/Resume unit test IOCTLs and other unit test features are only
enabled in defconfig debug builds and always disabled in production
builds. Add CFG INI item to disable these test IOCTLs even in defconfig
build such that by default on all build combinations unit test IOCTLs
are always disabled.

Change-Id: I71a63d2b85800b630d7c18eb77a3cffddcd66fbb
CRs-Fixed: 2221874
2018-04-14 06:14:36 -07:00
nshrivas
c31a26d44a Release 5.2.0.73P
Release 5.2.0.73P

Change-Id: I2978ff8bac570d58e3a490817fdbd43cfe6689c3
CRs-Fixed: 774533
2018-04-14 04:53:11 -07:00
Jeff Johnson
f20b4befc5 qcacld-3.0: Kbuild: Define CONFIG_FEATURE_WLAN_D0WOW
Currently the switch -DFEATURE_WLAN_D0WOW is inferred by examining two
different configuration options. In order to clearly separate setting
the configuration from applying the configuration create a new
CONFIG_FEATURE_WLAN_D0WOW configuration parameter.

Change-Id: Ie278011a309a18673eabb4bc4f8f8bb691815018
CRs-Fixed: 2222913
2018-04-14 04:53:10 -07:00
Arif Hussain
9e8c561b30 qcacld-3.0: Fix bss color event validation for false detection
Secondary bit map starts with color 32, So current color minus 31
will shift color bit beyond the expected position which is 0th,
Fix it by subtracting with 32 instead 31.

Change-Id: I7ede16faee129c42c71d490f653244398061a8b6
CRs-Fixed: 2222003
2018-04-14 04:53:07 -07:00
nshrivas
526c75f5f6 Release 5.2.0.73O
Release 5.2.0.73O

Change-Id: I0a9b8cf26f57bd1ca0deb43f897a562171d407ac
CRs-Fixed: 774533
2018-04-13 14:51:20 -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
Wu Gao
301909c576 qcacld-3.0: Remove not used WNI in cfg.txt
Cleanup not used WNI CFG in cfg.txt. This is part of FR about WNI and
INI CFG.

Change-Id: Ib3e0c6be2c70144db300ebb27d07b23a126fdcd4
CRs-Fixed: 2208165
2018-04-13 14:51:15 -07:00
Wu Gao
8800cb17f1 qcacld-3.0: Remove not used WNI CFG
Cleanup not used WNI configures. This is part of FR about WNI and INI
CFG.

Change-Id: Iee92add09366188ccb5a6f2385d07758221f8d67
CRs-Fixed: 2206059
2018-04-13 14:51:12 -07:00
nshrivas
233dfacd74 Release 5.2.0.73N
Release 5.2.0.73N

Change-Id: I5f7da79d962d627749c48d17be877ed7685ad785
CRs-Fixed: 774533
2018-04-13 12:15:52 -07:00
gaurank kathpalia
63311d11a2 qcacld-3.0: Avoid disconnect timeout in try disconnect
If connection is in progress and new connection req is
received from supplicant, hdd tries to disconnect the
current session and post force disassoc command and wait
for it to get completed. If the current ongoing connect
operation fails and this force disassoc is processed as
sme session is in disconnected state it is silently
dropped and thus there is no event sent to the HDD
to stop the wait for disconnect and HDD wait for 5
sec before returning connect failure.

Fix this by Calling disconnect handler if, disconnect
with force dissoc is called in disconnected state

Change-Id: I3a78308b54fb048fba5a6aed3d8e8b193c371647
CRs-Fixed: 2223313
2018-04-13 12:15:51 -07:00
Jeff Johnson
84f243c437 qcacld-3.0: Kbuild: Define CONFIG_ENABLE_SMMU_S1_TRANSLATION
Currently the switch -DENABLE_SMMU_S1_TRANSLATION is inferred by
examining two different configuration options. In order to clearly
separate setting the configuration from applying the configuration
create a new CONFIG_ENABLE_SMMU_S1_TRANSLATION configuration
parameter.

Change-Id: Ibfa0cfbad5342895d90a32ddcf46a9d851253dcb
CRs-Fixed: 2222912
2018-04-13 12:15:48 -07:00
Jeff Johnson
fe6f0b0dc8 qcacld-3.0: Kbuild: Replace unnecessary references to CONFIG_ROME_IF
In Kbuild CONFIG_ROME_IF is used to calculate the interface used by
the WLAN hardware. Once this is determined, one of the boolean
CONFIG_HIF_[PCI|USB|SDIO|SNOC|...] variables is configured. In
anticipation of refactoring the Kbuild in a manner which will remove
the necessity of having CONFIG_ROME_IF, replace all tests of
CONFIG_ROME_IF with tests of CONFIG_HIF_* once the CONFIG_HIF_*
variables have been set.

Change-Id: If80d465500b6b99181d470fa6bff3dc8c20e4409
CRs-Fixed: 2222911
2018-04-13 12:15:45 -07:00
Jeff Johnson
8daf7687a2 qcacld-3.0: Kbuild: Define CONFIG_FEATURE_WLAN_WAPI
Currently WAPI support is being unconditionally enabled in the
driver. However support may not be required on all targets, so add a
configuration flag

Change-Id: I1344620d4cff38dc9d780c9a272d2de07a423e8d
CRs-Fixed: 2222910
2018-04-13 12:15:42 -07:00
nshrivas
36e192dc1b Release 5.2.0.73M
Release 5.2.0.73M

Change-Id: I6d725f44003f90b38909f13b4e049231bf531367
CRs-Fixed: 774533
2018-04-13 09:30:28 -07:00
Padma, Santhosh Kumar
c88de4811d qcacld-3.0: Hold wakelock till connection completion
There is a chance that kernel can trigger suspend while
connection in progress. If driver allows this suspend, this can
result in fw panic.

Specific scenario:
If driver allows suspend to go when it waits for probe response,
fw least expects suspend indication as fw is in vdev start state.
This unexpected suspend indication in vdev start state can cause
fw panic.

Hold wakelock till the completion of association to fix this issue.

Change-Id: I168ead2ab1ef4fff1d9af3f3142c82536c3f4798
CRs-Fixed: 2217140
2018-04-13 09:30:27 -07:00
lifeng
fe6c3e2283 qcacld-3.0: Export antenna info to the userspace
qcacld-2.0 to qcacld-3.0 propagation
Discard the original wmi interface:
WMI_PEER_ANTDIV_INFO_REQ_CMDID/PEER_ANTDIV_INFO_EVENTID,
replace with the new one:
WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID/WMI_PDEV_DIV_RSSI_ANTID_EVENTID
to support chain value along with corresponding antenna info.

Change-Id: Ie9ea9d160e1ac1e2e65de422c85989159fb5a556
CRs-Fixed: 2005820
2018-04-13 09:30:22 -07:00
nshrivas
fbaa02c909 Release 5.2.0.73L
Release 5.2.0.73L

Change-Id: I44b6d503da6d8ebae90a987f674ccf87e992525d
CRs-Fixed: 774533
2018-04-11 22:25:13 -07:00
wadesong
8abb30d292 qcacld-3.0: Add support for SIFS burst enabling through iwpriv
When CLD3.2 driver is setting pdev burst mode to FW, 3
possible values are supported:

	0: disabled
	1: enabled for legacy burst
	3: enabled for SIFS burst

but the iwpriv command handling code only supports setting
0 or 1 to FW.

Add value checking for WE_SET_BURST_ENABLE to support setting
3 to FW.

Change-Id: I35506b83d584f6e8d066adfc43df8dd03ce54661
CRs-Fixed: 2214992
2018-04-11 22:25:13 -07:00
nshrivas
2311524096 Release 5.2.0.73K
Release 5.2.0.73K

Change-Id: If8302bb9ebfa3a43f74fc142e9ceac2f3b025087
CRs-Fixed: 774533
2018-04-11 10:52:37 -07:00
jiad
b0419bf348 qcacld-3.0: Fix missing-prototype build error
When CONFIG_MOBILE_ROUTER feature is enabled, FEATURE_WLAN_TDLS is
turned off. As a result, compiler complains no prototype for
lim_disassoc_tdls_peers error.

Fix is to define lim_disassoc_tdls_peers as static inline when
FEATURE_WLAN_TDLS is not defined.

Change-Id: Idad1f7d2e27853307750fcc7ffbe7ab1e3504c3b
CRs-Fixed: 2215100
2018-04-11 10:52:37 -07:00
nshrivas
a814ea040b Release 5.2.0.73J
Release 5.2.0.73J

Change-Id: I714f4f4a94be2614b0e3f468353f452350fe840a
CRs-Fixed: 774533
2018-04-11 09:15:04 -07:00
Padma, Santhosh Kumar
a5eaeb8686 qcacld-3.0: Enable SAE and GCMP by default
Add changes to enable SAE/GCMP by default.

Change-Id: I4d7597e019379429916e9684fa1126fda3c97e41
CRs-Fixed: 2217451
2018-04-11 09:15:03 -07:00
nshrivas
e12087d89e Release 5.2.0.73I
Release 5.2.0.73I

Change-Id: I3bc170fc6e1608ea4bff17f0d93d5488cc6804ee
CRs-Fixed: 774533
2018-04-11 03:38:08 -07:00
Jeff Johnson
6a08830bc5 qcacld-3.0: Kbuild: Decompose the mobile router feature
Currently in Kbuild the "profile" variable CONFIG_MOBILE_ROUTER is
defined based upon a set of tests. Subsequently CDEFINES is updated
with specific feature flags based upon the CONFIG_MOBILE_ROUTER
value. In anticipation of refactoring profile information into
per-target configuration files, create a separate configuration
variable for each feature that is currently controlled by
CONFIG_MOBILE_ROUTER. This will allow each target to have fine-grain
control over its features.

Change-Id: I5fb78f8c49c9ea2b970e547049d565cc1e9243f0
CRs-Fixed: 2222151
2018-04-11 03:38:08 -07:00
Jeff Johnson
c4fedd0a67 qcacld-3.0: Kbuild: Remove obsolete CONFIG_CNSS_EOS
CONFIG_CNSS_EOS is an obsolete configuration item so remove all
references to it.

Change-Id: Id26ac1fb6969af845730b57f1bef6a4903c2b71e
CRs-Fixed: 2222022
2018-04-11 03:38:05 -07:00
Jeff Johnson
fe2489c451 qcacld-3.0: Kbuild: Relocate HELIUMPLUS definitions
Currently if the driver is built directly within the kernel the
following Kconfig parameters will NOT be taken from the kernel
configuration:
- CONFIG_HELIUMPLUS
- CONFIG_64BIT_PADDR
- CONFIG_FEATURE_TSO
- CONFIG_FEATURE_TSO_DEBUG

Inversely, if the driver is built outside the kernel the following
parameter does not enforce the "depends on HELIUMPLUS" that is found
in the Kconfig:
- CONFIG_WLAN_LRO

Resolve these issues by relocating the HELIUMPLUS definition to inside
the "ifeq ($(KERNEL_BUILD), n)" portion of the Kbuild, and relocating
the other configurations such that they only get initialized when
HELIUMPLUS is enabled.

Change-Id: Ie41cd0a59bfa39fed39779e508bebbd6e29f6c0c
CRs-Fixed: 2222020
2018-04-11 03:38:03 -07:00
Jeff Johnson
63ec8ed89d qcacld-3.0: Remove CONFIG_SUPPORT_HOST_STATISTICS from Kbuild
CONFIG_SUPPORT_HOST_STATISTICS is set but then never referenced, so
remove it from Kbuild.

Change-Id: Ib2ec5dfe1a1e10e04116b097296c5bacc6ece9cd
CRs-Fixed: 2221853
2018-04-11 03:38:00 -07:00
Jeff Johnson
20f84ba9bc qcacld-3.0: Remove obsolete HAL_SELF_STA_PER_BSS condition
Currently Kbuild unconditionally sets -DHAL_SELF_STA_PER_BSS=1. There
is only one place where this macro is referenced, and it actually
requires that the macro be set for the driver to work. Since this
logic isn't really conditional, remove the conditional compilation.

Change-Id: I09a03339df086146b81b3012fb281e166fccd5da
CRs-Fixed: 2221852
2018-04-11 03:37:57 -07:00
Jeff Johnson
550b6a7a18 qcacld-3.0: Remove setting HIF_MESSAGE_BASED
Kbuild has conditional logic to set CONFIG_HIF_MESSAGE_BASED which is
subsequently used to pass -DHIF_MESSAGE_BASED to the driver. But
HIF_MESSAGE_BASED is not actually used by the driver, so remove this
support.

Change-Id: Id0650c2c44d7b20d58b30e405c2e8f4aa1082e99
CRs-Fixed: 2221851
2018-04-11 03:37:53 -07:00
Jeff Johnson
b5e486e4cf qcacld-3.0: Remove obsolete CONFIG_PRIMA_WLAN_11AC_HIGH_TP
Kbuild conditionally defines CONFIG_PRIMA_WLAN_11AC_HIGH_TP but then
never uses it. Since it is obsolete, remove it.

Change-Id: I4002197c3068c58e542ab0b7bcc55b642e04624c
CRs-Fixed: 2221850
2018-04-11 03:37:50 -07:00
Jeff Johnson
8fba4d7a8e qcacld-3.0: Consolidate Kbuild configuration variables
In Kbuild, configuration variables are used to determine which files
are included in the build and what flags are given to the C compiler.
Currently most of the configuration variables are set in the top
portion of the file.  In preparation for futher featurization identify
those configuration variables which are being set in the bottom
portion of the file, and relocate them to the top portion of the file.

Change-Id: I962edf666ba7ed8c37a28e448b8675249a759975
CRs-Fixed: 2220924
2018-04-11 03:37:48 -07:00
Jeff Johnson
3a7a9c6e35 qcacld-3.0: Align Kbuild with Linux guidelines
Fix the following issues in Kbuild:
- 'Managment' may be misspelled - perhaps 'Management'?
- 'Endianess' may be misspelled - perhaps 'Endianness'?
- Use of EXTRA_CFLAGS is deprecated, please use `ccflags-y instead.

Change-Id: Ie2d2940bbf5b143b2185bf88bc8fd33abb16817a
CRs-Fixed: 2220923
2018-04-11 03:37:45 -07:00
Jeff Johnson
eadeb93a96 qcacld-3.0: Consistently use y/n for Kbuild flags
In the Kbuild most of the local flag variables use y/n but there are
some that use 0/1. For consistency change all 0/1 flags to y/n.

Change-Id: Ic436d7f1cf8a75eae9d3542b458094ed6442740d
CRs-Fixed: 2220922
2018-04-11 03:37:42 -07:00
Jeff Johnson
1cdba1a666 qcacld-3.0: Remove obsolete AH_BYTE_ORDER macro
Kbuild currently has conditional code that is used to set the macro
AH_BYTE_ORDER. But this macro is unused by the code, so remove it.

Change-Id: If694bdb492645eda5d314f7240e42677d9e4413d
CRs-Fixed: 2220921
2018-04-11 03:37:39 -07:00
Jeff Johnson
ec884ea161 qcacld-3.0: Consolidate setting of endian macros
There are a multitude of endian macros currently supported by the
driver. Consolidate them in one place as a precursor to future
consolidation.

Change-Id: Id4e57eb6e409aa0c84d46b8ce9eb85f3be56716e
CRs-Fixed: 2220920
2018-04-11 03:37:36 -07:00
Jeff Johnson
151c30c6dc qcacld-3.0: Remove unused SPECTRAL_USE_NETLINK_SOCKETS macro
Kbuild currently passes the macro SPECTRAL_USE_NETLINK_SOCKETS to the
compiler.  However this macro is now obsolete, so remove it.

Change-Id: Id88028cceddcaaf8f35c708451fa5bf21c4695dd
CRs-Fixed: 2220919
2018-04-11 03:37:33 -07:00
Jeff Johnson
8018ecec87 qcacld-3.0: Remove unused WLAN_FEATURE_RX_FULL_REORDER_OL macro
Kbuild currently defines the macro WLAN_FEATURE_RX_FULL_REORDER_OL.
However the change "qcacld-3.0: wma: change legacy data path api to
cdp api" removed the only reference to this macro. Since it is now
obsolete, remove it.

Change-Id: I72e770874150cbac69e8efbb9e5dd7027a2e8869
CRs-Fixed: 2220918
2018-04-11 03:37:30 -07:00
Jeff Johnson
2540c551fe qcacld-3.0: Remove unused WLAN_FEATURE_MBSSID macro
The Kbuild currently defines the macro WLAN_FEATURE_MBSSID.  However
this macro is not actually referenced in the driver, so remove it.

Change-Id: Id2254c298b5db2a18a75160d22904af3a6f90c06
CRs-Fixed: 2220916
2018-04-11 03:37:27 -07:00
Jeff Johnson
78772177b6 qcacld-3.0: Remove obsolete WLANTL_DEBUG code
Macro WLANTL_DEBUG is currently used to define some SAP debug
counters, but these counters are unused, so remove this obsolete code.

Change-Id: Ie7d976efcb5fb335b3f60a5af48a70dd214b3bd0
CRs-Fixed: 2220915
2018-04-11 03:37:24 -07:00
Jeff Johnson
a635938a0e qcacld-3.0: Remove unused WCN_PRONTO macros
The Kbuild currently conditionally defines the macros WCN_PRONTO and
WCN_PRONTO_V1.  However these macros are not actually referenced in
the driver, so remove them.

Change-Id: I173fb8ee9bcc89faa3d03be91dc1628f561c561e
CRs-Fixed: 2220914
2018-04-11 03:37:21 -07:00
Jeff Johnson
b8b3976823 qcacld-3.0: Remove unused IGTK_OFFLOAD macro
The Kbuild currently conditionally defines the macro IGTK_OFFLOAD.
However this macro is not actually referenced in the driver, so remove
it.

Change-Id: I0c1bf314ad222e2348419950a462f5ce72163ec6
CRs-Fixed: 2220913
2018-04-11 03:37:19 -07:00
Jeff Johnson
b45dba43e5 qcacld-3.0: Remove unused ATH_SUPPORT_SHARED_IRQ macro
The Kbuild currently defines the macro ATH_SUPPORT_SHARED_IRQ. However
this macro is not actually referenced in the driver, so remove it.

Change-Id: I526038c83380da2526c403cba3bedeaa0e347983
CRs-Fixed: 2220912
2018-04-11 03:37:15 -07:00
Jeff Johnson
a3005a1c1a qcacld-3.0: Remove obsolete ANI_COMPILER_TYPE macros
Currently a set of ANI_COMPILER_TYPE macros are checked against, but
other than that they serve no purpose. As part of ongoing Kbuild
cleanup remove these obsolete macros.

Change-Id: Ia112d7d5ae8d12eae46144b53addc8ad54393bba
CRs-Fixed: 2220285
2018-04-11 03:37:13 -07:00
nshrivas
9c0e778409 Release 5.2.0.73H
Release 5.2.0.73H

Change-Id: I09fc35d1804c12e544cda4ed38808cecd175bfd1
CRs-Fixed: 774533
2018-04-10 08:52:41 -07:00
Pragaspathi Thilagaraj
e8f5b1d4bc qcacld-3.0: Fix OOB write in wma_extscan_change_results_event_handler
The routine wma_extscan_change_results_event_handler sends the ext scan
results to upper layers. This contains the bssid info, rssi values of
different APs that are scanner. If the num_rssi_samples is negative or
greater than UINT32_MAX,then an OOB write could happen.

Add check to ensure rssi_num is not negative or exceeds UINT32_MAX.
Also make sure the numap value is not negative.

Change-Id: If82c4fd1193c45d38bd4495c187a406deb25acad
CRs-Fixed: 2205957
2018-04-10 08:52:40 -07:00
jitiphil
fb410619e0 qcacld-3.0: Reset txrx connectivity stats after SSR
After SSR, FW clear its txrx connectivity stats.
In host, as adapter is intact, host connectivity
stats counts are still available. Now if the set
stats command is used again, then host increments
its counts start from its last saved value, i.e.,
count before SSR, and FW increments its count from 0.
This sends a mismatch of packet counts b/w
host and FW to framework that creates ambiquity.

To address the issue, reset the host counts so that after SSR
both FW and host start increment their counts from 0.

Change-Id: I11f849d6f00abe11f3bb8947cc81e47a3bc004fa
CRs-Fixed: 2202890
2018-04-10 08:52:37 -07:00
Alok Kumar
ddd457e4a3 qcacld-3.0: Fix usage of PDEV pointer after free
Currently pdev pointer is freed prematurely in ol_txrx_pdev_pre_detach
but the same pointer is used when ol_txrx_pdev_detach is called. This
may lead to invalid pointer dereference issue.

To fix this issue, free pdev pointer in ol_txrx_pdev_detach after
ol_txrx_pdev_pre_detach is called.

Change-Id: I089d70842b90b568ee8a38c6ed56f5418df7303d
CRs-Fixed: 2207417
2018-04-10 08:52:35 -07:00
nshrivas
2e38c8cb24 Release 5.2.0.73G
Release 5.2.0.73G

Change-Id: I5520b348bc66e7fdf4d57f9c484b92c2769ceed5
CRs-Fixed: 774533
2018-04-09 21:33:47 -07:00
lihual
8b9daf255c qcacld-3.0: Init local variable cnss_info before using it
Initialize cnss_info in pld_pcie_get_soc_info()
before using it.

CRs-Fixed: 2205420
Change-Id: I4b34fc64ca50c031faa79fd1e272bae24cc0f766
2018-04-09 21:33:47 -07:00