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
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
CONFIG_CNSS_EOS is an obsolete configuration item so remove all
references to it.
Change-Id: Id26ac1fb6969af845730b57f1bef6a4903c2b71e
CRs-Fixed: 2222022
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
CONFIG_SUPPORT_HOST_STATISTICS is set but then never referenced, so
remove it from Kbuild.
Change-Id: Ib2ec5dfe1a1e10e04116b097296c5bacc6ece9cd
CRs-Fixed: 2221853
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
In lim_set_rs_nie_wp_aiefrom_sme_start_bss_req_message, length passed
to unpack WPA IE is length of WPA IE + 2 bytes extra
(rsn_ie->rsnIEdata[1] + 2) - 4. So in case of only WPA IE is present
in assoc request, the WPA IE parser will try to validate the buffer
beyond the WPA IE and might fail as the extra 2 bytes of buffer might
contains some garbage value.
Pass appropriate length to unpack WPA IE.
Change-Id: Ifad6fabf701a82abd4234569d108b4172adf2bcb
CRs-Fixed: 2217455
qcacld-2.0 to qcacld-3.0 propagation
Use qdf_do_div() for 64 bit division, because '/' can't be used for
64 bit division on arm32 platform.
Change-Id: I19a1db8adbc1fe7acaee0ec824f670b67284f628
CRs-Fixed: 2155143
IPA RM APIs are depricated from WDI UNIFIED APIs.
Remove to call IPA RM APIs when IPA_WDI_UNIFIED_API is enabled.
Change-Id: I4de2f16a9d320a769870efacdd0c067bab133a0a
CRs-Fixed: 2220247
Fix integer underflow in csr_update_fils_params_rso as this may
cause buffer overflow.
Change-Id: I25b31f5c0f207be09ac30d5f95911d3866d12d66
CRs-Fixed: 2204872
Several packets are sent to firmware in htt_htc_attach_all(), back to
back. However, if one of the latter packets fails to send for some
reason, the previous packets are not flushed. This leads to a number of
leaks under error conditions.
If a packet fails to send in htt_htc_attach_all(), flush the endpoint
before returning failure to the upper layers.
Change-Id: If9b33a645f7bcc77442e18566525ae57b544f1a0
CRs-Fixed: 2219137
The definition of module_param_call() was changed in 4.15 and
in order to have module params that work on the kernel both
before and after that change switch to using module_param_cb()
since its definition has not changed.
Change-Id: I4af7c802ae62041636eda3047805630a16490e75
CRs-Fixed: 2193703
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
Enhance logging levels for some auto channel selection messages useful for
debugging.
CRs-Fixed: 2189466
Change-Id: I05c0f8a7c96c8e33f997b00c3d9a9d1714f283e0