Commit Graph

8492 Commits

Author SHA1 Message Date
Mohit Khanna
b7bec723c3 qcacld-3.0: Add peer APIs to get and release peer ref
The existing peer API cdp_peer_find_by_add does not maintain any peer
references. So a peer which is returned by the API may get deleted in a
different context. This may lead to access to a already deleted memory.

Fix the issue by introducing new APIs "peer_get_ref" and
"peer_release_ref" which make sure the peer is valid until it is
"released" (peer_release_ref is called).

Change-Id: I60175ee1d67f01e3ee4b48cb655d1728d29d08f4
CRs-Fixed: 2139801
2017-12-12 17:57:16 -08:00
Sandeep Puligilla
63633f697f qcacld-3.0: Fix memory leak in measurement request processing
Memory leak is detected while processing the
measurement report request while another request
is under processing.

Pass an address of the pointer to the rrm beacon
request API to get the allocated memory address.

Change-Id: I83c44a6a7a4a8e1ce56e48b008e7d784cca1dc6d
CRs-Fixed: 2144031
2017-12-12 17:57:13 -08:00
snandini
89e1acbc5a Release 5.2.0.57M
Release 5.2.0.57M

Change-Id: I57c9a610c5fe4daed09903ff8c6be119c48ac2d8
CRs-Fixed: 774533
2017-12-12 15:56:41 -08:00
Arunk Khandavalli
ebd1e37e15 qcacld-3.0: Reject system suspend in monitor mode
In the monitor mode when the system is suspended
FW trying to send packet to host which is not allowed leading to this
system crash.

Acquire wakelock once the device enters monitor mode and block
the system from entering suspend.

Change-Id: I27ba2d43fd7b84bc1ae7e6046ab635065872b2d2
CRs-Fixed: 2130546
2017-12-12 15:56:41 -08:00
Srinivas Girigowda
c7a1b0ad16 qcacld-3.0: Remove object files from qca-wifi-host-cmn folder
make clean is not removing the object files in
qca-wifi-host-cmn folder.

CRs-Fixed: 2151813
Change-Id: I56904cdf2154d6bd80aea7fd1bba8d28bd5fe21d
2017-12-12 15:56:38 -08:00
snandini
d43cb9804f Release 5.2.0.57L
Release 5.2.0.57L

Change-Id: I4fa06e09ee6a6ca4a914f88d5bbefccc6bd2a521
CRs-Fixed: 774533
2017-12-12 11:26:14 -08:00
Abhishek Singh
67e02bdb0b qcacld-3.0: Avoid adding duplicate qcn ie in directed probe req
If mac_ctx->roam.configParam.qcn_ie_support is enabled driver adds
qcn ie in directed probe req, even if its already present in the
additional scan IEs. Thus in probe request two qcn ie are present.

To fix this add qcn ie only if roam.configParam.qcn_ie_support is set
and qcn ie is not present in the additional scan IE.

Change-Id: I4c7ea32dc06e5c62b4043dbd3794348f8185fd9b
CRs-Fixed: 2152795
2017-12-12 03:06:29 -08:00
snandini
dc626447fa Release 5.2.0.57K
Release 5.2.0.57K

Change-Id: Idcee03310fe1deecd3d05c85d1095c58ea469c93
CRs-Fixed: 774533
2017-12-12 01:26:05 -08:00
Naveen Rawat
df221b7f73 qcacld-3.0: Avoid WMI_HE_OPS macros in lim
Avoid using WMI HE Ops macro in lim and use dot11f struct for
HE Ops instead. Keep the tranlation to FW interpratation of
HE Ops in wma layer only.

Change-Id: Ie94795541aaddb7ae291ff451b938ebb96f74dbf
CRs-Fixed: 2145510
2017-12-12 01:26:05 -08:00
gaurank kathpalia
bcbde36363 qcacld-3.0: Add check for iface in wma_setup_install_key_cmd
The host defines the iface ptr with :-
iface = &wma_handle->interfaces[key_params->vdev_id], at line 1588
and if the WLAN_FEATURE_11W, is not enabled , the host sets the
iface->is_waiting_for_key as false , without a NULL check of iface.
Fix is to add a NULL check for iface

Change-Id: I69ed8f881b678458d16f1f74e87e31959c04ec63
CRs-Fixed: 2156921
2017-12-12 01:26:01 -08:00
snandini
208f1dee58 Release 5.2.0.57J
Release 5.2.0.57J

Change-Id: I5c0e75986e328ab8f2cf5ffef80173bb583b6e7d
CRs-Fixed: 774533
2017-12-11 22:08:19 -08:00
Paul Zhang
99fe884782 qcacld-3.0: Implement interface to set WLM level
WLAN Latency module (WLM) is added by fw to gain latency
because of schedule out of service like power saving,
scanning, roaming etc. per the level set by framework.

Change-Id: Id4305e5e66dcce464447aff56296c7d027347ea2
CRs-Fixed: 2142391
2017-12-11 22:08:19 -08:00
snandini
33e8661c51 Release 5.2.0.57I
Release 5.2.0.57I

Change-Id: I163558662169c4fa5ec438185756ca8b2d08664f
CRs-Fixed: 774533
2017-12-11 21:26:02 -08:00
hqu
8925c8f767 qcacld-3.0: Move log level to info high if tx hits invalid peer state
For sns test in some scenarios when tx hits invalid peer state it will
print massive log so that it will lead to WD bark issue.

Move log level to lower info high from warn if tx hits invalid peer state.

Change-Id: I91d414e7203bf1e00094ca7b2fcebf80f4102082
CRs-Fixed: 2156472
2017-12-11 21:26:01 -08:00
Ashish Kumar Dhanotiya
7b1fe06cc7 qcacld-3.0: Add missing reg pairs in driver
Regpair for DM, DO, HN, JM, NA, PA, SN, XA are missing
which results in a crash.

Add regpair for country codes  DM, DO, HN, JM, NA, PA, SN, XA.

Change-Id: I6d29f16a549121b9588d6fb68b78e14375e8eb8e
CRs-Fixed: 2154385
2017-12-11 21:25:58 -08:00
wadesong
1ef396242d qcacld-3.0: Fix ACS scan abnormal cancellation problem
When a BSS is being started, the WLAN driver will abort all
scan requests, including the ACS scan initiated by the
secondary SAP, which will result in secondary SAP start
failure.

Use a different function to abort scans initiated by the
current session which is doing BSS starting so ACS scan
initiated by a second SAP will not be affected.

Change-Id: I442431e92e31cc8d3eb302ccca4249d0b4bedf82
CRs-Fixed: 2154230
2017-12-11 21:25:56 -08:00
snandini
15432b3e2a Release 5.2.0.57H
Release 5.2.0.57H

Change-Id: I72c0c16942ff1b34ea99105643003550e88a3a51
CRs-Fixed: 774533
2017-12-11 19:38:18 -08:00
Jingxiang Ge
df9292a6b4 qcacld-3.0: Packing cdp_vdev_detach
Packing cleanup operation following cdp_vdev_detach.

Change-Id: I39ed8cf018df756e4a66fae833debfea25003cf0
CRs-Fixed: 2154859
2017-12-11 19:38:17 -08:00
Rajeev Kumar
a57db6b0c2 qcacld-3.0: Optimize stack memory allocation in CSR msg processor
csr_roaming_state_msg_processor() is declaring roam_info on stack
which is of size 736 bytes. Kernel stack has limited size and all
big data structures should be allocated from heap to avoid stack
overflow. Hence allocate roam_info struct from heap and free it
after callback has returned.

Change-Id: I282d9baa9f3e679bfd5b628f0baaadf4beec86af
CRs-Fixed: 2143439
2017-12-11 19:38:15 -08:00
Dustin Brown
021cecdb56 qcacld-3.0: Move memdump init/deinit to avoid runtime leak
The memdump feature allocates memory after the module has started,
leading to a false positive memory leak when the module is subsequently
stopped. Move memdump init to before the module is started in
hdd_wlan_startup, and memdump deinit to after the module is stopped in
hdd_wlan_exit.

Change-Id: I8df48e55e0f1e90fb4599469ce10f7741fb7a9a0
CRs-Fixed: 2157112
2017-12-11 19:38:13 -08:00
snandini
30cfcb12c7 Release 5.2.0.57G
Release 5.2.0.57G

Change-Id: Idea4e12c55d2252620c259e3b39c7f1607bd38b0
CRs-Fixed: 774533
2017-12-11 17:38:08 -08:00
Dustin Brown
4bc0a62828 qcacld-3.0: Detect leaks on transition to driver-closed
Currently, resource leak detection happens when the driver module is
unloaded. Instead move as much leak detection as possible to when the
driver transitions back into the closed state. This better supports
load-once-never-unload and built-in driver configurations.

Change-Id: I88be641948ffa4fff397a8eae40cf3b05c543673
CRs-Fixed: 2113606
2017-12-11 17:38:07 -08:00
snandini
416d3b4c1a Release 5.2.0.57F
Release 5.2.0.57F

Change-Id: Ic86e48f176e1286afefb1edebc1b3f1c406b48b1
CRs-Fixed: 774533
2017-12-11 15:46:34 -08:00
Varun Reddy Yeturu
371404beda qcacld-3.0: Handle set key response failure
If roaming is happening and then a set key response is
generated from WMA to PE, then there is a possibility
of not finding the PE session as the roaming happened
and new session is established. In such cases, return
failure from PE to SME so that the set key command is
released and the command queue is not stuck

Change-Id: Ieba8ea76a2a53322f2e392e6b0bf30360b1e8f8a
CRs-Fixed: 2150731
2017-12-11 15:46:33 -08:00
Nachiket Kukade
08b9f2903b qcacld-3.0: Use new event infrastructure for session open/close events
With current implementation, if sme_open_session sends down a command
to the Firmware and an SSR/PDR occurs, the thread is stuck on waiting
on an event. The thread also holds the rtnl lock and will keep
blocking any other thread from acquiring it till timeout occurs. This
can result in deadlock situation with IPA driver trying to execute
driver ops during the SSR/PDR notification callback.

Use the wait_for_event_completion API for waiting on event. With this
the event will be purged when driver receives FW_DOWN indication.

Change-Id: I2920fd36c0eb5bb5994e66e584d12a2a9d8f409a
CRs-Fixed: 2120226
2017-12-11 15:46:30 -08:00
snandini
5536a99c2d Release 5.2.0.57E
Release 5.2.0.57E

Change-Id: Ib06c69d58a70f1d86319f126695bdf408904f5b0
CRs-Fixed: 774533
2017-12-11 13:56:39 -08:00
psimha
0b6bb897f3 qcacld-3.0: Add 11AX header flag in Kbuild
Add a new CONFIG_QCA6290_11AX flag to track & enable all 11ax related
header changes.

Change-Id: I265364eafb05c34eea18235a15c5e317716f6ecf
CRs-Fixed: 2124274
2017-12-11 13:56:39 -08:00
snandini
d0f7ac32a0 Release 5.2.0.57D
Release 5.2.0.57D

Change-Id: Ifafbf46eea7d0704408341b7c349a54e1ee07553
CRs-Fixed: 774533
2017-12-11 03:38:08 -08:00
Padma, Santhosh Kumar
ecbcafcb96 qcacld-3.0: Reduce the max join attempts for connection
Limit the max join attempts to two less than 1/3 of the total
command timeout value.

Change-Id: Ic52ec1cfa268a9e24e944f5d6e875e42d5a7b2be
CRs-Fixed: 2137346
2017-12-11 03:38:08 -08:00
snandini
66a74d85a5 Release 5.2.0.57C
Release 5.2.0.57C

Change-Id: I52593cc508b69ab22b5185a9cabcad0dc69d88dd
CRs-Fixed: 774533
2017-12-10 23:38:27 -08:00
Tiger Yu
6211cd7436 qcacld-3.0: Fix potential BUG_ON in the htt_rx_offload_msdu_pop_ll
qcacld-2.0 to qcacld-3.0 propagation

For HTT_T2H_MSG_TYPE_RX_OFFLOAD_DELIVER_IND, the msdu_cnt is a signed
integer coming from firmware. If set the msdu_cnt to a negative value,
or be greater than the number of current elements in the queue, the loop
will execute lots of times in ol_rx_offload_deliver_ind_handler, the
htt_rx_netbuf_pop will cause the BUG_ON issue sooner or later if it is
low latency solution.

Change the msdu_cnt type from signed to unsigned and add the validity
msdu_cnt checking will fix this issue.

Change-Id: I436557a124074f59ab11fd937dfdc975b9caebe8
CRs-Fixed: 2149461
2017-12-10 23:38:26 -08:00
snandini
ab09ed083c Release 5.2.0.57B
Release 5.2.0.57B

Change-Id: Ic09b58f837275c90ec37ce353837608d0c9f5fc2
CRs-Fixed: 774533
2017-12-10 22:16:22 -08:00
Tiger Yu
25c131e8a8 qcacld-3.0: Fix potential buffer overflow in htt_t2h_lp_msg_handler
qcacld-2.0 to qcacld-3.0 propagation

Check for the validity of peer_id when received the htt message of
HTT_T2H_MSG_TYPE_PEER_MAP or HTT_T2H_MSG_TYPE_PEER_UNMAP from firmware
to ensure the buffer overflow does not happen.

Change-Id: Ib3f92f4de0b406a78bf34d348c07cb3981277513
CRs-Fixed: 2147119
2017-12-10 22:16:21 -08:00
Tiger Yu
62ef4fb08d qcacld-3.0: Fix potential buffer overflow in ol_rx_flush_handler
qcacld-2.0 to qcacld-3.0 propagation

Check for the validity of tid when received the htt message of
HTT_T2H_MSG_TYPE_RX_FLUSH & HTT_T2H_MSG_TYPE_RX_PN_IND from firmware
to ensure the buffer overflow does not happen.

And correct the sequence number type from signed int to unsigned.

Change-Id: Ibff86e891c335bfe8c2f9db82410545036463ed3
CRs-Fixed: 2149399
2017-12-10 22:16:17 -08:00
Tiger Yu
a007b9a256 qcacld-3.0: Fix potential buffer overflow for TX_COMPL_IND
qcacld-2.0 to qcacld-3.0 propagation

Check for the validity of num_msdus when received the htt message of
HTT_T2H_MSG_TYPE_TX_COMPL_IND or HTT_T2H_MSG_TYPE_TX_INSPECT_IND from
firmware to ensure the buffer overflow does not happen.

Change-Id: Ic6ce75f34c5e2705d174eda014350e6ef0391388
CRs-Fixed: 2146869
2017-12-10 22:16:13 -08:00
snandini
99ec257084 Release 5.2.0.57A
Release 5.2.0.57A

Change-Id: If5f9c1055c259b100111da509351e055801b6836
CRs-Fixed: 774533
2017-12-10 21:26:56 -08:00
Tiger Yu
c35fbb1e72 qcacld-3.0: Fix potential integer overflow when TX_CREDIT_UPDATE
qcacld-2.0 to qcacld-3.0 propagation

Check for the validity of credits when received the htt message of
HTT_T2H_MSG_TYPE_TX_CREDIT_UPDATE_IND or HTT_T2H_MSG_TYPE_TX_COMPL_IND
from firmware to ensure the integer overflow does not happen if these
messages invoked many times.

Change-Id: I01386b88f1b677153f3e51e055b7fbac073cd6b3
CRs-Fixed: 2147127
2017-12-10 21:26:54 -08:00
snandini
8159423fff Release 5.2.0.57
Release 5.2.0.57

Change-Id: Ida6ab2930cbd104aca1fd57b17d0017eb26a35eb
CRs-Fixed: 774533
2017-12-09 23:27:10 -08:00
Venkata Sharath Chandra Manchala
1240fc7c98 qcacld-3.0: Enable Packetlog for Napier
Add ATH_PKTLOG_LITE_T2H and ATH_PKTLOG_LITE_RX
support for Napier.

Change-Id: I6e2833e2f7e1a4c68c51f7ae83d0ae76f63c9b0f
CRs-Fixed: 2133558
2017-12-09 23:27:07 -08:00
CNSS_WLAN Service
c4d5f251d0 Merge "Release 5.2.0.56Z" into wlan-cld3.driver.lnx.2.0 2017-12-09 21:13:29 -08:00
CNSS_WLAN Service
da52068904 Merge "Revert "qcacld-3.0: Set PF_WAKE_UP_IDLE flag in the IPA Rx exception callback"" into wlan-cld3.driver.lnx.2.0 2017-12-09 21:13:28 -08:00
CNSS_WLAN Service
a7737fba22 Merge "Release 5.2.0.56Y" into wlan-cld3.driver.lnx.2.0 2017-12-09 21:13:26 -08:00
CNSS_WLAN Service
043eca59ff Merge "qcacld-3.0: Check regulatory domain before assuming ETSI channels" into wlan-cld3.driver.lnx.2.0 2017-12-09 21:13:25 -08:00
CNSS_WLAN Service
174be443e0 Merge "Release 5.2.0.56X" into wlan-cld3.driver.lnx.2.0 2017-12-09 21:13:24 -08:00
CNSS_WLAN Service
7753b89ff4 Merge "qcacld-3.0: Fix memleak in wlan_hdd_cfg80211_do_acs" into wlan-cld3.driver.lnx.2.0 2017-12-09 21:13:22 -08:00
CNSS_WLAN Service
7fb0864ac2 Merge "Release 5.2.0.56W" into wlan-cld3.driver.lnx.2.0 2017-12-09 06:54:28 -08:00
CNSS_WLAN Service
033346946d Merge "qcacld-3.0: Validate Country IE length before copying country code" into wlan-cld3.driver.lnx.2.0 2017-12-09 06:54:27 -08:00
CNSS_WLAN Service
53b0557f91 Merge "qcacld-3.0: Fix active cmd timeout issue" into wlan-cld3.driver.lnx.2.0 2017-12-09 06:54:25 -08:00
CNSS_WLAN Service
9252c07495 Merge "Release 5.2.0.56V" into wlan-cld3.driver.lnx.2.0 2017-12-09 06:54:24 -08:00
CNSS_WLAN Service
c7132a627f Merge "qcacld-3.0: cleanup scan queue in case of SSR" into wlan-cld3.driver.lnx.2.0 2017-12-09 06:54:22 -08:00