Commit graph

8,147 commits

Author SHA1 Message Date
CNSS_WLAN Service
1634e810f3 Merge "qcacld-3.0: Add support for concurrent STA using ini param" into wlan-cld3.driver.lnx.2.0 2017-11-20 23:35:22 -08:00
CNSS_WLAN Service
9854412d07 Merge "Release 5.2.0.54S" into wlan-cld3.driver.lnx.2.0 2017-11-20 23:35:21 -08:00
CNSS_WLAN Service
22a98d6085 Merge "qcacld-3.0: Add SKB to internal tracking table in ipa i2w path" into wlan-cld3.driver.lnx.2.0 2017-11-20 23:35:19 -08:00
CNSS_WLAN Service
2f56d76c6d Merge "Release 5.2.0.54R" into wlan-cld3.driver.lnx.2.0 2017-11-20 23:35:18 -08:00
CNSS_WLAN Service
fe26b7cfb4 Merge "qcacld-3.0: Add TDLS user command getTDLSPeers" into wlan-cld3.driver.lnx.2.0 2017-11-20 23:35:17 -08:00
Sourav Mohapatra
57006c767a qcacld-3.0: Add support for concurrent STA using ini param
Enable support for concurrent STA interface to be open during startup
using the ini param gEnableConcurrentSTA

Change-Id: Iede1f8673fb682753e31ed8f376453692938e4ba
2017-11-20 19:35:37 -08:00
snandini
05ebf8916c Release 5.2.0.54S
Release 5.2.0.54S

Change-Id: I399990f237ef70c93162f0cc16a22acdc0dbb2b7
CRs-Fixed: 774533
2017-11-20 18:01:57 -08:00
hqu
92ee8cac8d qcacld-3.0: Add SKB to internal tracking table in ipa i2w path
When define MEMORY_DEBUG macro for debugging memory issue,
even in normal case it still will report double free for ipa
i2w SKB.

Fix is to add ipa i2w SKB to internal tracking table.

Change-Id: I27b0afc79e8c39c99a73ec9a65a348ebf85960b6
CRs-Fixed: 2145344
2017-11-20 18:01:56 -08:00
snandini
783e40e8dc Release 5.2.0.54R
Release 5.2.0.54R

Change-Id: I3e5fa01bdd8c7a7048cf05213c9850aa7e26209a
CRs-Fixed: 774533
2017-11-20 17:22:08 -08:00
Kabilan Kannan
3eeefea161 qcacld-3.0: Add TDLS user command getTDLSPeers
Add TDLS user command getTDLSPeers for TDLS
functional verification

Change-Id: I6e3891a0971109a10c5d01735f351ea8aaa55abf
CRs-Fixed: 2144996
2017-11-20 17:22:07 -08:00
CNSS_WLAN Service
131097f929 Merge "Release 5.2.0.54Q" into wlan-cld3.driver.lnx.2.0 2017-11-20 15:32:05 -08:00
CNSS_WLAN Service
007e7dcf04 Merge "qcacld-3.0: Free user defined WOWL patterns" into wlan-cld3.driver.lnx.2.0 2017-11-20 15:32:04 -08:00
CNSS_WLAN Service
c2d77d04f3 Merge "qcacld-3.0: Avoid heap overflow during cfg80211 vendor scan request" into wlan-cld3.driver.lnx.2.0 2017-11-20 15:32:02 -08:00
snandini
10d8a75078 Release 5.2.0.54Q
Release 5.2.0.54Q

Change-Id: I8626cb1e3ae27769dd6d0ec870d36d31ec3cf2ab
CRs-Fixed: 774533
2017-11-20 15:21:10 -08:00
Kabilan Kannan
6edafeb0c3 qcacld-3.0: Free user defined WOWL patterns
User defined wowl patterns are not freed in all
of the driver unload paths, and it causes
leaks in the system.
Free user defined wowl patterns in all the driver
unload paths.

Change-Id: I7b980a6392badb3d28f2c665a96108beb71f02d5
CRs-Fixed: 2144562
2017-11-20 15:21:10 -08:00
Rajeev Kumar
0f22d9370e qcacld-3.0: Avoid heap overflow during cfg80211 vendor scan request
WLAN driver's vendor scan request handler function declares ie_len
as uint8_t whereas kernel's cfg80211_scan_request ie_len is declared
as size_t. This type mismatch for ie_len leads to WLAN driver allocating
less memory on heap because of implicit integer overflow when kernel's
ie_len(declared as size_t) is bigger than hex 0xFF and when scan request
data is copied it overflows the allocated heap memory.

In WLAN driver's vendor scan request handler declare ie_len and len also
of type size_t such that always correct size heap memory is allocated and
there is no heap overflow during memory copy.

Change-Id: I240113d34c561c7155303b0b8b253c0cbaf7724b
CRs-Fixed: 2145573
2017-11-20 15:21:07 -08:00
CNSS_WLAN Service
91e23e2ce4 Merge "Release 5.2.0.54P" into wlan-cld3.driver.lnx.2.0 2017-11-20 04:19:43 -08:00
CNSS_WLAN Service
e06f3622c2 Merge "qcacld-3.0: Rename target sdxhedgehog to sdx20" into wlan-cld3.driver.lnx.2.0 2017-11-20 04:19:40 -08:00
snandini
0d0d61edd4 Release 5.2.0.54P
Release 5.2.0.54P

Change-Id: Ic3da92b386b414cab4ba7395eb1c3f1b5085041e
CRs-Fixed: 774533
2017-11-20 04:07:27 -08:00
anisha agarwal
188d2549d8 qcacld-3.0: Rename target sdxhedgehog to sdx20
Replace target name sdxhedgehog with sdx20 to maintain
consistency with other components on the same platform.

Change-Id: I257c082c9427f5fb7d699d11924b6bdc1b59f661
CRs-Fixed: 2023531
2017-11-20 04:07:26 -08:00
CNSS_WLAN Service
80d6da8661 Merge "Release 5.2.0.54O" into wlan-cld3.driver.lnx.2.0 2017-11-20 00:12:14 -08:00
CNSS_WLAN Service
87b435e9ea Merge "qcacld-3.0: kernel printing warning logs" into wlan-cld3.driver.lnx.2.0 2017-11-20 00:12:13 -08:00
CNSS_WLAN Service
c747e32287 Merge "Release 5.2.0.54N" into wlan-cld3.driver.lnx.2.0 2017-11-20 00:12:12 -08:00
CNSS_WLAN Service
f215146975 Merge "qcacld-3.0: Make __hdd_stop(STA) & __hdd_hostapd_stop(SAP) symmetrical" into wlan-cld3.driver.lnx.2.0 2017-11-20 00:12:10 -08:00
snandini
f38eca519b Release 5.2.0.54O
Release 5.2.0.54O

Change-Id: I6a4f085dcf966e30ea649e7e0d343ca70eb57a54
CRs-Fixed: 774533
2017-11-19 23:51:54 -08:00
Jiachao Wu
1b00ecb608 qcacld-3.0: kernel printing warning logs
Kernel print warning message: Division by zero in kernel
When gBusBandwidthComputeInterval > 1000,
thresh_time_limit will be set to 0.

Change-Id: Ibb1f87815e194cd74886d3731f6d6a0fee6a6732
CRs-Fixed: 2070938
2017-11-19 23:51:54 -08:00
snandini
a543ec673b Release 5.2.0.54N
Release 5.2.0.54N

Change-Id: Ifec30459aa2a627a684566fe4dcac18a142df48e
CRs-Fixed: 774533
2017-11-17 15:21:35 -08:00
Krunal Soni
c68ee30dc9 qcacld-3.0: Make __hdd_stop(STA) & __hdd_hostapd_stop(SAP) symmetrical
As part of Ib22dfa375217a48448c5a7872a9a2ed154dd862f, reviewer has
provided comments to make __hdd_stop and __hdd_hostapd_stop symmetrical
to avoid any logical issue.

Along with above point, fix hdd_init_ap_mode to check event_flags
instead of sap context to find out if session is already opened and
initialized.

Change-Id: I49788157a95940dfd5ec396baf40db7e3df21359
CRs-Fixed: 2136351
2017-11-17 15:21:34 -08:00
CNSS_WLAN Service
3251b5d2d5 Merge "qcacld-3.0: Free LimMgmtFrameRegistratinQueue after MC thread shut down" into wlan-cld3.driver.lnx.2.0 2017-11-17 03:15:33 -08:00
snandini
7498515be3 Release 5.2.0.54M
Release 5.2.0.54M

Change-Id: Ic58b2904f96d78835ca7fe76a04fcf01c951b712
CRs-Fixed: 774533
2017-11-16 13:21:16 -08:00
Paul Zhang
84fa938931 qcacld-3.0: Remove purge_sme_cmd_list API & reset scan ops in SSR case
wlan_serialization_remove_all_cmd_from_queue() is getting called
two times which causes reference count to be decreased two times.
1) 1st time from sme_stop() -> purge_sme_cmd_list()
   -> wlan_serialization_remove_all_cmd_from_queue()
2) 2nd time from wlan_serialization_vdev_obj_destroy_notification()
   -> serialization_purge_cmd_list()
   -> wlan_serialization_remove_all_cmd_from_queue()

1st path has been there for quite a long time as per the old serialization
design but with new serialization design, it won't be required.

Change-Id: Ia8bd91c665340e7f7628ad73af64fa0044b45dde
CRs-Fixed: 2134851
2017-11-16 13:21:15 -08:00
snandini
10265806e6 Release 5.2.0.54L
Release 5.2.0.54L

Change-Id: Ia3c618efaf8796a6ac03c052fe6ec65e16c403c6
CRs-Fixed: 774533
2017-11-16 11:40:28 -08:00
Nachiket Kukade
1be92caa6c qcacld-3.0: Corrections in buffer length checks in set_fils_config
In wlan_hdd_cfg80211_set_fils_config, incoming fils configs
are copied into local buffers. Buffer allocations happen with
internal length definitions, while lengths are checked against
definitions from WMI API's. This may cause a buffer overwrite
for fils erp realm buffer.

Use the same definitions for length checks that are used for
allocations.

Change-Id: Ie26bb1fdec9b12b429cb74dd290c155deb6c32f8
CRs-Fixed: 2137834
2017-11-16 11:40:27 -08:00
Dustin Brown
1fe30a8ff3 qcacld-3.0: Close small interface idle race window
There is an interface idle work that stops the driver module in cases of
adapter inactivity. This work grabs the iface_change_lock, which is also
grabbed before synchronously cancelling the interface idle work. This can
cause a deadlock situation where cancelling the work never finishes,
because the caller holds the lock the work needs in order to complete.
Hoist the calls to cancel the work out of locked regions to avoid the
potential deadlock situation.

Change-Id: Ie421e69e2026ad1de626daba1f72d002d9751013
CRs-Fixed: 2120671
2017-11-16 11:40:24 -08:00
Dustin Brown
6f42792885 qcacld-3.0: Use delayed work instead of qdf_mc_timer for iface change
Currently, the interface idle (aka interface change) timeout uses a
qdf_mc_timer. This dependency on the MC thread means the MC thread
cannot be shutdown as part of the interface idle timeout work. This
wastes resources, and leads to the init/deinit paths to be out of sync
with respect to starting and stopping the MC thread. To address these
issues, use a delayed work to schedule the interface idle work instead
of a qdf_mc_timer.

Change-Id: I7570081112fa236a15d823e2a3857d252567f041
CRs-Fixed: 2112696
2017-11-16 11:40:22 -08:00
Nachiket Kukade
6549937aa7 qcacld-3.0: Prevent NULL pointer dereference on sap_adapter
In hdd_stop_sap_due_to_invalid_channel, sap_adapter is derived using
container_of operation on work structure. It is dereferenced to print
the sessiond id immediately followed by a NULL check.

Move debug print after the NULL check.

Change-Id: Ib22aaeba6d312621e66496fcd646319331305cd2
CRs-Fixed: 2137807
2017-11-16 11:40:19 -08:00
snandini
ae978de0fe Release 5.2.0.54K
Release 5.2.0.54K

Change-Id: Ieeccfbd2229026c667c508c4726e9e6d1b631181
CRs-Fixed: 774533
2017-11-16 07:22:00 -08:00
Vignesh Viswanathan
5b86f13ad9 qcacld-3.0: Fix buffer overwrite in wma_unified_debug_print_event_handler
In function wma_unified_debug_print_event_handler, datalen is
received from the FW and is used to mem copy data buffer from
FW into the local array dbgbuf. Since dbgbuf is a local array
of size 500 bytes, if datalen is greater than 500, buffer
overwrite occurs during memcpy.

Add sanity check to limit datalen to 500 bytes if value received
is greater than 500 bytes.

Change-Id: Id63b5106bc7a3d3836d17ae47d019bc8a71c928e
CRs-Fixed: 2134801
2017-11-16 07:22:00 -08:00
snandini
1f250806f7 Release 5.2.0.54J
Release 5.2.0.54J

Change-Id: I253407d7c29856c8c103fd5ac5184acb09f92733
CRs-Fixed: 774533
2017-11-16 02:14:42 -08:00
gaurank kathpalia
d6d79e884c qcacld-3.0: Add check for set_ft_ies length
In file sme_ft_api.c, function sme_set_ft_ies(),
the ft_ies_length is user-controlled so there is
a possibility of integer overflow.

Add Sanity check to avoid integer overflow.

Change-Id: Idab80abeca35397be7ec13ca81c7ccb8be8ef256
CRs-Fixed: 2100965
2017-11-16 02:14:41 -08:00
Dustin Brown
0707ddfedb qcacld-3.0: Stop MC thread on module close
Currently, the MC thread is started once, on the transition from the
uninitialized to the open driver state, and is stopped only during
unload or recovery. Instead, start the MC thread on the transition from
closed to open and stop the MC thread of the transition from open to
closed driver states.

Change-Id: I2b45f95afb99b79f2515275776fe11c9e97bc150
CRs-Fixed: 2113596
2017-11-16 02:14:38 -08:00
snandini
851434574b Release 5.2.0.54I
Release 5.2.0.54I

Change-Id: I1ecf69dfe79c403587ac6b4b6b7929668c6ba280
CRs-Fixed: 774533
2017-11-16 00:12:49 -08:00
Vignesh Viswanathan
bd1ad03c3d qcacld-3.0: Fix check for peer_num in wma_get_ll_stats_ext_buf
The current check for peer_num in wma_get_ll_stats_ext_buf is
incorrect and subtracts total_peer_len from WMI_SVC_MSG_MAX_SIZE
and then divides it by the size of peer stats struct.

Fix the check in such a way that peer num is not greater than
WMI_SVC_MSG_MAX_SIZE divided by the sum of total_peer_len
and size of peer stats struct.

Change-Id: Idd21852052b14e9b30785f2ac4acbd172dd923ef
CRs-Fixed: 2143891
2017-11-16 00:12:47 -08:00
snandini
75b57743a4 Release 5.2.0.54H
Release 5.2.0.54H

Change-Id: I72ade954b2bc92a8915fc40481bb799f796d5935
CRs-Fixed: 774533
2017-11-15 23:36:58 -08:00
Nachiket Kukade
d915283486 qcacld-3.0: Correction in conditional logic in key operations
In set default key operation module, under SAP mode, there are
conditional checks on key type information derived from the
Station's context. Also in get/add key operations SAP or STA
context pointers are derived without knowing the device mode
first, which is incorrect.

Derive key type info from SAP context in set default key and
derive station or sap context pointers only after knowing the
device mode.

Change-Id: I09b0e6f8d6315677e7584c7c24f003daa3eca9a3
CRs-Fixed: 2127288
2017-11-15 23:36:57 -08:00
Abhishek Singh
51e048ee5e qcacld-3.0: Free LimMgmtFrameRegistratinQueue after MC thread shut down
LimMgmtFrameRegistratinQueue is freed in lim cleanup before MC thread
shut down. After cleanup if MC thread process a request to register a
management frame type, it will try to access stale list node address
resulting in system crash.

To fix this cleanup the LimMgmtFrameRegistratinQueue after MC thread
shut down.

Change-Id: Icca58bd18e67f5a215e9db2429ed0a6afd45ea0a
CRs-Fixed: 2142713
2017-11-16 12:21:01 +05:30
snandini
f2f97c4faf Release 5.2.0.54G
Release 5.2.0.54G

Change-Id: Iacf9f4e01c2edf4a857984d936d6eb2e0f854dc0
CRs-Fixed: 774533
2017-11-15 09:42:30 -08:00
Bala Venkatesh
13ac1030c0 qcacld-3.0: Remove unwanted NULL check in csr_process_nss_update_req
NULL check is not required as already check is present in caller
API sme_process_command

Change-Id: I7d1d6253d77faf427b7fd231dce7d1c8eac9538a
CRs-Fixed: 2139896
2017-11-15 09:42:30 -08:00
gaurank kathpalia
1a4d285cea qcacld-3.0: Add error log rate limit
In file lim_api.c, function pe_handle_mgmt_frame(),
limit the error log "Failed to fill cds packet from
event buffer".

Add log rate limit to avoid avoid over-logging.

Change-Id: I8ea1a485db861f6c40b46aaba107ae4ea1552e21
CRs-Fixed: 2138713
2017-11-15 09:42:28 -08:00
snandini
ca8ebbe027 Release 5.2.0.54F
Release 5.2.0.54F

Change-Id: Icf1f15abc89043559a9bb33b1f068f78e8f0dc5c
CRs-Fixed: 774533
2017-11-15 04:11:21 -08:00