Commit Graph

8959 Commits

Author SHA1 Message Date
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
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
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
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
nshrivas
a581a56a53 Release 5.2.0.73F
Release 5.2.0.73F

Change-Id: Ib69c032f97e40249d8a22edd440582c4f5afbf38
CRs-Fixed: 774533
2018-04-09 06:20:21 -07:00
Abhinav Kumar
3ef787b1ec qcacld-3.0: Fix to pass appropriate buffer length to unpack WPA IE
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
2018-04-09 06:20:20 -07:00
nshrivas
1a0d818fae Release 5.2.0.73E
Release 5.2.0.73E

Change-Id: I7259b0bc9e282aac099dda6056a00cc426ad026f
CRs-Fixed: 774533
2018-04-09 00:01:41 -07:00
gaolez
d11c7c5569 qcacld-3.0: fix compatible issue for timestamping feature
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
2018-04-09 00:01:41 -07:00
nshrivas
836bc91b07 Release 5.2.0.73D
Release 5.2.0.73D

Change-Id: Ibe56aaaddf5f68dcf942f36e41c99288534b4978
CRs-Fixed: 774533
2018-04-08 18:30:34 -07:00
Naveen Rawat
3cb779ed91 qcacld-3.0: Add ini param to control logging for CP_STATS
Add ini param to control logging for CP_STATS.

Change-Id: I8e46ed1935e20d5f636f7c8c1504ad09c1fabf0f
CRs-Fixed: 2210323
2018-04-08 18:30:34 -07:00
nshrivas
eb5efff283 Release 5.2.0.73C
Release 5.2.0.73C

Change-Id: Ieb30f9d745844380e67551a081f804e8c2eb8e9f
CRs-Fixed: 774533
2018-04-06 21:37:43 -07:00
Arif Hussain
53cf569ad5 qcacld-3.0: Use intersection of AP's and self STBC capability
Use intersection of AP's and self STBC capability.

Change-Id: I98a5e3f424f7b5ca9c82c15e271aa9be901f4792
CRs-Fixed: 2207488
2018-04-06 21:37:43 -07:00
nshrivas
2eb1aac272 Release 5.2.0.73B
Release 5.2.0.73B

Change-Id: I1f55031abe75879563d8636f1bb65cfc061bc9ef
CRs-Fixed: 774533
2018-04-06 20:38:04 -07:00
Arif Hussain
a216f678bf qcacld-3.0: Fix integer Underflow in csr_update_fils_params_rso
Fix integer underflow in csr_update_fils_params_rso as this may
cause buffer overflow.

Change-Id: I25b31f5c0f207be09ac30d5f95911d3866d12d66
CRs-Fixed: 2204872
2018-04-06 20:38:04 -07:00
nshrivas
b949786ed5 Release 5.2.0.73A
Release 5.2.0.73A

Change-Id: If22b2810787b6f5e03c85521027a591077e87263
CRs-Fixed: 774533
2018-04-06 19:28:44 -07:00
Dustin Brown
95ff87c60e qcacld-3.0: Flush packets in datapath error case
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
2018-04-06 19:28:44 -07:00
nshrivas
21f0bf56e8 Release 5.2.0.73
Release 5.2.0.73

Change-Id: I1f9ba981aa80babddd8ee15b1a8a318b0f45afd7
CRs-Fixed: 774533
2018-04-06 17:49:26 -07:00
Srinivas Girigowda
841da29860 qcacld-3.0: Switch from module_param_call() to module_param_cb()
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
2018-04-06 17:49:25 -07:00
nshrivas
ddd6752467 Release 5.2.0.72Z
Release 5.2.0.72Z

Change-Id: I670316db3a54c3b63ebe201d3191c78416fecde9
CRs-Fixed: 774533
2018-04-06 14:47:06 -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
Ravi Joshi
9788fcd47d qcacld-3.0: Enhance logging levels for some SAP ACS messages
Enhance logging levels for some auto channel selection messages useful for
debugging.

CRs-Fixed: 2189466
Change-Id: I05c0f8a7c96c8e33f997b00c3d9a9d1714f283e0
2018-04-06 14:47:00 -07:00
nshrivas
685851ede2 Release 5.2.0.72Y
Release 5.2.0.72Y

Change-Id: I1c88922504cfb29786362bb89394c2777e468881
CRs-Fixed: 774533
2018-04-06 13:25:23 -07:00
jiad
bb47e130a0 qcacld-3.0: fix ipa mcc scc event notification
Issue is under AP-AP MCC config, mcc event is not sent from wlan
to IPA driver. mcc mode is decided with the help of connection
table. But for AP mode, mcc mode is checked and updated before
connection table is updated by adding the SAP vdev entry.

Fix is to make ipa mcc mode check and notification when connection
table is updated. Since block is not allowed when conn table is
updated, a new work_struct mcc_work is introduced.

Change-Id: I935222e26bb3f6b31685f52b75084b034daccad2
CRs-Fixed: 2075876
2018-04-06 13:25:23 -07:00
nshrivas
3656261689 Release 5.2.0.72X
Release 5.2.0.72X

Change-Id: I5fe0a5603893d39b734e8edb0c881bbb8027e188
CRs-Fixed: 774533
2018-04-06 01:59:02 -07:00
Srinivas Girigowda
49b48b2eae qcacld-3.0: Fix function return type for ndo_start_xmit
Fix function return type for ndo_start_xmit.
Currently .ndo_start_xmit callback functions returns int, but
the correct return type should be netdev_tx_t.

Change-Id: I36d3cc886bfa0fd74a264f2791f09a251baab2ef
CRs-Fixed: 2202134
2018-04-06 01:59:01 -07:00
jitiphil
5fdc34704f qcacld-3.0: Prevent access to rx thread after thread shutdown
During unload/SSR, the ol_rx_thread is shutdown and then the
cpu hotplug notifier is unregistered. In other context
cpu hotplug notifier could be accessing the freed contents
of rxthread resulting in use after free.

To avoid this race condition, reject the cpu hot plug
notificaiton in case of a driver SSR in addition to
load/unload.

Change-Id: Iafadff92d5660b979c6cf20a70eef42d22a9e51a
CRs-Fixed: 2219011
2018-04-06 01:58:53 -07:00
Jeff Johnson
abcce17d32 qcacld-3.0: Relocate hdd_set_peer_rate()
Currently hdd_set_peer_rate() is implemented in wlan_hdd_wext.c with a
prototype defined in wlan_hdd_wext.h. But the only client is located
in wlan_hdd_hostapd.c, and since that is where the "master mode"
ioctls are handled, relocate hdd_set_peer_rate() to wlan_hdd_hostapd.c
and make it static.

Change-Id: I5ec9c43b29fafc75cb35f1ee465c86acbc6b3b2c
CRs-Fixed: 2219456
2018-04-06 01:58:50 -07:00
Sourav Mohapatra
21b3c988b4 qcacld-3.0: Return -EGAIAN and not -ENODEV if FW is down
When wlan_hdd_validate_context returns ENODEV in the case
of FW down or when driver is in bad state, wificond will
reset and try to unload the driver while SSR/PDR may be
in progress.

Return -EGAIAN and not -ENODEV in the above case.

Change-Id: I9b2314c2d4367b5373d1202b682d2c629a5a3e9f
CRs-Fixed: 2217006
2018-04-06 01:58:47 -07:00
nshrivas
a4f4f9f766 Release 5.2.0.72W
Release 5.2.0.72W

Change-Id: Ia1b0fc473af2b1c5373d96d816bddeb5f989c215
CRs-Fixed: 774533
2018-04-05 01:29:51 -07:00
Pragaspathi Thilagaraj
0008879d13 qcacld-3.0: Fix OOB write in wma_unified_debug_print_event_handler
The routine wma_unified_debug_print_event_handler logs the data from debug
print event handler. The param event data from firmware is copied to a
destination buffer .If the maximum size of the data exceeds or equals
BIG_ENDIAN_MAX_DEBUG_BUF for big endian hosts then possible OOB write will
occur in wma_unified_debug_print_event_handler. For other hosts, OOB read
could occur if datalen exceeds maximum firmware message size
WMI_SVC_MAX_SIZE.

Add check to validate datalen doesnot exceed the maximum firmware msg size
WMI_SVC_MAX_SIZE. Return failure if it exceeds.
Add check to ensure datalen doesnot exceed or equal the maximum buffer
length value for big endian hosts BIG_ENDIAN_MAX_DEBUG_BUF.
Invoke strlcpy instead of memcpy to ensure the string is null terminated
before printed.

Change-Id: I45943ae76d8fcf7b53e1f064c462d01cd6d00dcf
CRs-Fixed: 2211133
2018-04-05 01:29:46 -07:00
Jeff Johnson
c57c13aec7 qcacld-3.0: Refactor the Green AP configuration
Refactor the Green AP configuration so that it can be easily excluded
when the feature is not enabled, and to support transition to the
converged configuration model that is under development.

Change-Id: I275833f4c60c315937a6fba3f403eb54925e151c
CRs-Fixed: 2218656
2018-04-05 01:29:43 -07:00
nshrivas
9227b6c935 Release 5.2.0.72V
Release 5.2.0.72V

Change-Id: I5513c933478f79d866cdba54a1071842d2ea473a
CRs-Fixed: 774533
2018-04-04 19:43:31 -07:00
Jeff Johnson
53fe40a9bf qcacld-3.0: Rename field enableGreenAP in struct hdd_config
Since camelCase is frowned upon in the Linux coding style, rename
field enableGreenAP in struct hdd_config.

Change-Id: Ie541289f79b2bfe9f2bf490bbcde7e0649e0395d
CRs-Fixed: 2218692
2018-04-04 19:43:31 -07:00
nshrivas
bd769ad27a Release 5.2.0.72U
Release 5.2.0.72U

Change-Id: I69017b8dfcb4805f4b0ac54886f6172ef9b4b320
CRs-Fixed: 774533
2018-04-04 17:47:16 -07:00
Manjunathappa Prakash
7a4ecb2281 qcacld-3.0: Fix argument type for ol_txrx_stats_callback
ol_txrx_stats_callback is not implemented as it is not required, fix
the calling function argument type to match the prototype.

Change-Id: I8a976737af8f226a1774950170f445c93ebf683b
CRs-Fixed: 2216859
2018-04-04 17:47:15 -07:00
nshrivas
4a7bcc1020 Release 5.2.0.72T
Release 5.2.0.72T

Change-Id: I15f71af9243607ba13007e0f160aa934b9c87174
CRs-Fixed: 774533
2018-04-04 16:39:58 -07:00
Sandeep Puligilla
db6de35f36 qcacld-3.0: PDR recovery is taking longer time
PDR recovery is taking longer time because vdev
delete is waiting for peer delete completion.

Modified vdev delete handler to get the status
of firmware. If firmware state is detected as down
then vdev delete handler will not wait for peer delete
completion.

Change-Id: I1014df239a1abecaccbe5097769a10c625597e12
CRs-Fixed: 2207795
2018-04-04 16:39:58 -07:00
Srinivas Girigowda
1e0456c9aa qcacld-3.0: Fix function types passed to qdf_trace_register
Fix function types passed to qdf_trace_register.

Change-Id: I6d22c05a866f78113c95bd21c83bb0a28a630385
CRs-Fixed: 2208843
2018-04-04 16:39:55 -07:00
Srinivas Girigowda
de28a9df54 qcacld-3.0: Fix return type mismatch in start_xmit functions
Function declaration and definition has return type mismatch.
Hence fix this.

Change-Id: Icf5f6c435811b7d0801da10bb6f1dfb322cc8dc8
CRs-Fixed: 2208843
2018-04-04 16:39:53 -07:00
nshrivas
229b5fb8a9 Release 5.2.0.72S
Release 5.2.0.72S

Change-Id: Ieefcb633d9606b0ba2047990bfc33cc4aa39c6b2
CRs-Fixed: 774533
2018-04-04 14:12:31 -07:00
Amar Singhal
5f78313578 qcacld-3.0: Reset is_acs_allowed variable when chan count is 0
When world mode is set (ACS chan list is empty) and ACS request comes to
driver, is_acs_allowed variable is not reset. Due to this, in subsequent
ACS requests, is_acs_allowed variable would become 1, leading to ACS
failure in a loop. Fix that.

Change-Id: I97689571e147505ea2c21f271c103e3c8cc74b80
CRs-Fixed: 2215385
2018-04-04 14:12:31 -07:00