Commit Graph

9065 Commits

Author SHA1 Message Date
Arunk Khandavalli
4b44ef4e00 qcacld-3.0: update tgt services from converged structures
Update the services information from the target psoc info structure.

CRs-Fixed: 2178933
Change-Id: I7137ff604d680fe6eb5ff6486b59879bf52ebc91
2018-02-09 06:24:23 -08:00
Vignesh Viswanathan
dd9cf6259a qcacld-3.0: Stop STA if connection in progress and SAP Stop is received
In STA+SAP concurrency, when the STA connection is in progress or set_key
is in progress, the set_hw_mode command to SME is queued and would be
processed only after the connection is complete. Meanwhile, when a stop
SAP is received and SAP Dissassociate STA is triggered from HDD, the
command is queued in SME and cannot be processed until STA connection
is done. The add_key command from the supplicant is also stuck as the
previous stop_ap command is in progress leading to a deadlock. When the
AP sends deauth to the STA due to 4 Way Handshake failure, the STA is
reset and then the stop SAP command proceeds, followed by another
connection for the STA.

Disconnect STA interface first if connection or key exchange is in progress
and then stop SAP interface to prevent this deadlock condition.

Change-Id: I23ad1fc96882abeaae2d1b051659ea6d24b07428
CRs-Fixed: 2187070
2018-02-09 06:24:20 -08:00
snandini
e8903258b5 Release 5.2.0.65J
Release 5.2.0.65J

Change-Id: I7b0b8e87a5faec01be75ec8e5cdd6236aeaf487f
CRs-Fixed: 774533
2018-02-09 03:53:45 -08:00
Liangwei Dong
c26be33664 qcacld-3.0: Add LIM callback for p2p
p2p component has no 11w mgmt protection
information for tx frame.

Add LIM callback to register to p2p
module, to provide mgmt protection information.

Change-Id: Ibdb26d2ebbf51c191258c163cd45290ee5d4fccf
CRs-Fixed: 2172228
2018-02-09 03:53:45 -08:00
snandini
50766ac556 Release 5.2.0.65I
Release 5.2.0.65I

Change-Id: I2c5c3ecbb511c56f9425bbaa00d563c43c953ab6
CRs-Fixed: 774533
2018-02-09 01:51:14 -08:00
Min Liu
a9df1ff921 qcacld-3.0: Fix FW assert when delete VDEV
FW assert is observed when deleting VDEV due to there are peers
not deleted.

Add check for peer number in FW before sending delete VDEV
command to avoid such issue.

Change-Id: I4cc5d4c63faf3dc8f7b9d0702f92b54b298802cb
CRs-Fixed: 2163770
2018-02-09 01:51:13 -08:00
snandini
b229eaff66 Release 5.2.0.65H
Release 5.2.0.65H

Change-Id: I5c97889bd44faf2b9d45752a8d00647b699e26eb
CRs-Fixed: 774533
2018-02-09 00:42:18 -08:00
Manjunathappa Prakash
34fda7994a qcacld-3.0: Fail channel switch if current chan and mode same as previous
Currently we fail channel switch if new channel matches old channel. So it
dosnot take into account of mode switches HT20/HT40/VHT80.
So process channel switch request if either channel or mode is different.

Change-Id: I8743a6292277daad8b1bf38b79c236f19fbac700
CRs-Fixed: 2186212
2018-02-09 00:42:17 -08:00
snandini
ac43d7f2ad Release 5.2.0.65G
Release 5.2.0.65G

Change-Id: I86b04ac1729b69594e4fa1e20d26f5264214a9e6
CRs-Fixed: 774533
2018-02-08 23:34:34 -08:00
Abhishek Singh
c87bb049d8 qcacld-3.0: Move wma_get_buf_start_scan_cmd logic to common code
Move wma_get_buf_start_scan_cmd logic to common code in
ucfg_scan_update_params.

Change-Id: Iaee8ab5b7f0c20867bf37db7509b1c1fab23579d
CRs-Fixed: 2180959
2018-02-08 23:34:34 -08:00
Kabilan Kannan
fa16398e7a qcacld-3.0: Return the correct status in txrx clear peer
STA peer can be cleared from peer detach and HDD. If the
peer is cleared by peer detach, then return success to
HDD request.

Change-Id: I7aa564e7f2a1c9ce336ae96679d93a6e11703c37
CRs-Fixed: 2181163
2018-02-08 23:34:31 -08:00
snandini
5857853308 Release 5.2.0.65F
Release 5.2.0.65F

Change-Id: I41561ec87a9362c7c7a7db2d97289fc3c0323576
CRs-Fixed: 774533
2018-02-08 21:37:29 -08:00
Amar Singhal
2d812011d7 qcacld-3.0: Maintain and call driver load count
When wiphy is registered with kernel, the kernel call the regulatory
notifier with the last request cached by the kernel. The last request
is initialized to world mode. So for the first time registration,
ignore the kernel callback.

Change-Id: I8c6070eebac4c04145e51daaecb7745f331f58b1
CRs-Fixed: 2174245
2018-02-08 21:37:28 -08:00
Paul Zhang
a05a025bcf qcacld-3.0: use driver database for reg no-offload
Currently driver created reg database instead of
db.txt for reg no-offload case.

Change-Id: Ia7853679532ad7536d34b4a4040feffb8566e907
CRs-Fixed: 2174245
2018-02-08 21:37:25 -08:00
snandini
9c072dc7f6 Release 5.2.0.65E
Release 5.2.0.65E

Change-Id: Ibdc31ab1d80d3cf149eb013eb7db10561b13bb9e
CRs-Fixed: 774533
2018-02-08 13:13:41 -08:00
Tiger Yu
2da63e421a qcacld-3.0: only unmap the mapped nbuf in the ol_txrx_vdev_flush
The TX buffers in the vdev->ll_pause pending queue, which haven't mapped
the physical address.

Adding nbuf physical address checking to avoid the mis-matching unmap
especially when the MEMORY_DEBUG is enabled.

Change-Id: I6b0fcd1c7d07ca358d07b9931dea321ee8c6169a
CRs-Fixed: 2183678
2018-02-08 13:13:41 -08:00
snandini
8237109cf6 Release 5.2.0.65D
Release 5.2.0.65D

Change-Id: I5b5605ac5da4359d8ba3df53b88ad1e2aa7b1529
CRs-Fixed: 774533
2018-02-08 07:55:41 -08:00
Padma, Santhosh Kumar
10a655f54c qcacld-3.0: Fix stack corruption in beacon table mode
qcacld-2.0 to qcacld-3.0 propagation

Currently driver sends beacon report for each channel recursively
in beacon table mode. There is a chance that variables on stack
can exceed allocated stack size which can lead to corruption of
stack. Remove unnecessary variables which are not required for
beacon table mode to fix this issue.

Change-Id: I9aa35e7da916f5d4c6380862d292b44c254c9334
CRs-Fixed: 2184037
2018-02-08 07:55:40 -08:00
Arunk Khandavalli
10af728966 qcacld-3.0: use common specific mode caps
As part of convergence the mode capabilities
are extracted and saved in the target info structure.
Update the hardware mode list and pcl from the converged
structures.

CRs-Fixed: 2179003
Change-Id: I3cfc28533448c312913db3bead5d5322386f3f74
2018-02-08 07:55:38 -08:00
Himanshu Agarwal
75e74413db qcacld-3.0: Avoid selection of irrelevant channel in 80/160MHz config
When channel list contains all channels from channel 1 to channel
165 and ch width is 80MHz, the channel to be selected as part of
ACS algorithm should be a 5GHz channel as 2.4GHz channels does not
support 80MHz but 2.4GHz channel gets selected with channel
width as 40MHz. Similarly when ch width is 160Mhz, the 160Mhz bonding
can be made only by 36-64 and 100-128 channels but 2.4Ghz channel or
some other 5Ghz channel gets selected as a result of ACS algorithm.

Assign max weight to all the 2.4GHz channels in 80Mhz and to all 2.4 Ghz
channels and 5Ghz channels not in the range 36-64 and 100-128 in 160 Mhz
so that only a valid channel is selected after the ACS algorithm is
completed.

Change-Id: I00c40e5d000a1cf8b79397fd4e361838a60b363d
CRs-Fixed: 2182011
2018-02-08 07:55:35 -08:00
snandini
d46194c757 Release 5.2.0.65C
Release 5.2.0.65C

Change-Id: I221e6d134d373053d8c995c8dc17d8474e219166
CRs-Fixed: 774533
2018-02-08 06:58:27 -08:00
Naveen Rawat
17c42a8802 qcacld-3.0: Remove panic and enhance logging for peer_delete timeout
Remove panic after peer_delete timeout and fail corresponding peer
operation. Peer reference count can be taken by kworker thread which
may get pre-empted by other higher priority threads or stuck, leading
to delay in releasing reference. This delay cannot be completely
removed, hence rather than panic after timeout, enhance logging and
fail corresponding peer operation.

Change-Id: I42c379c0cf91d29d293c3c53c3a378421aef07f9
CRs-Fixed: 2181097
2018-02-08 06:58:27 -08:00
Himanshu Agarwal
88b16a48d0 qcacld-3.0: Register wmi_tlv_attach() through wmi_tlv_init()
Register wmi_tlv_attach() through wmi_tlv_init() for WMI
modularization.

Change-Id: I4c21fd5ddd6e58dcebfbf1b484b418c537e23e58
CRs-Fixed: 2184817
2018-02-08 06:58:25 -08:00
Naveen Rawat
b54c72bedc qcacld-3.0: Add DBS check for all chain mask programming
Add DBS check for all chain mask programming. Currently the check
is present only for band specific chain mask parameters.

Change-Id: I415a8e8f666961b90d1cd9130b3c33eecb62c1df
CRs-Fixed: 2184255
2018-02-08 06:58:22 -08:00
snandini
5bc0239293 Release 5.2.0.65B
Release 5.2.0.65B

Change-Id: I48a90fd50b86d91b43c0833e10015d9ea00b0a66
CRs-Fixed: 774533
2018-02-07 21:13:19 -08:00
Himanshu Agarwal
1ed8bffa9e qcacld-3.0: Assign acs_cfg->end_ch before use
In __wlan_hdd_cfg80211_do_acs(), when gAP11ACOverride is 1,
it sets vht_enabled to 1, hw_mode to 11ac and acs_cfg->ch_width
to the value of ini gVhtChannelWidth. If acs_cfg->end_ch is less
than 14 and acs_cfg->ch_width is 80Mhz, set acs_cfg->ch_width to
40Mhz. As acs_cfg->end_ch is not assigned yet, it is 0 due to
which acs_cfg->ch_width gets assigned to 40Mhz.

Assign acs_cfg->end_ch before use when gAP11ACOverride is 1 in
__wlan_hdd_cfg80211_do_acs().

Change-Id: If8bcc7470c1693791dfc64ec0b6059c09747d739
CRs-Fixed: 2184017
2018-02-07 21:13:18 -08:00
snandini
3c26fb4732 Release 5.2.0.65A
Release 5.2.0.65A

Change-Id: I13d09b206e106e4c07ae4e209c349dc9d6414e47
CRs-Fixed: 774533
2018-02-07 19:23:56 -08:00
bings
6b41366494 qcacld-3.0: Update target type to target_type of psoc_info->info
Target type should be passed to target_type of psoc_info->info in
wma_open.

Change-Id: I657b54c6c64c40f0a0bff2cbd6c75cddc4edc921
CRs-Fixed: 2184833
2018-02-07 19:23:55 -08:00
snandini
350bdc0556 Release 5.2.0.65
Release 5.2.0.65

Change-Id: I25137b333c5f49de5d9ec17d090722af227f4f88
CRs-Fixed: 774533
2018-02-07 18:09:02 -08:00
Amar Singhal
1808164995 qcacld-3.0: Destroy sysfs version node in stop modules
Destroy the node when modules transition from opened to stopped.
Otherwise duplicate creation of node can lead to warning.

Change-Id: Ib1031cfa0572962454b293730fefd7a4b4cf8d09
CRs-Fixed: 2180344
2018-02-07 18:09:02 -08:00
snandini
26bf9e68b7 Release 5.2.0.64Z
Release 5.2.0.64Z

Change-Id: I239cfc204925e0adf7941d2589ef0f7318dc9d1b
CRs-Fixed: 774533
2018-02-07 14:34:53 -08:00
Kiran Kumar Lokere
c87546f49d Revert "qcacld-3.0: Call callback to sync the user-space"
Reverts Change-Id: I1e31ff122f9337c353d8be260b4802cc363790d6

Revert this change until the dependent kernel is change is
merged

Change-Id: Iad0b39f990a840c7901815932b8b5aa2c4c67c95
CRs-Fixed: 2186005
2018-02-07 13:50:39 -08:00
snandini
c9aae2f136 Release 5.2.0.64Y
Release 5.2.0.64Y

Change-Id: I5ca0a8b3881fc92da5fd05157424ba572d2f7098
CRs-Fixed: 774533
2018-02-07 07:55:34 -08:00
Yeshwanth Sriram Guntuka
d18c7a27a7 qcacld-3.0: Populate correct HT MCS index in station stats
HT MCS index returned by wma_get_mcs_idx function is
between 0 and 7 for both nss equal to 1 and 2. This
results in incorrect HT MCS index for nss 2 case
populated in station stats on using iw station dump
command.

Fix is to set the correct HT MCS index based on nss.

Change-Id: Id4ac51b56bc44e90ea0e7570b387450af83ee8f5
CRs-Fixed: 2182050
2018-02-07 07:55:34 -08:00
snandini
606a5e4e2d Release 5.2.0.64X
Release 5.2.0.64X

Change-Id: I5a222e7eedb070a826ae6ddee1a88770fcffca6f
CRs-Fixed: 774533
2018-02-07 05:43:48 -08:00
Padma, Santhosh Kumar
67dfee234a qcacld-3.0: Do not send TSPEC again
Currently, firmware sends TSPEC as part of reassoc request during
roaming in ESE case. Driver also sends TSPEC again during roam synch
propagation in driver for ESE case which is redundant. So, do not
send TSPEC again in ESE case to avoid duplicate TSPEC.

Change-Id: Ib0a18bec7762ba56061d8564b870739b2eefd123
CRs-Fixed: 2181531
2018-02-07 05:43:47 -08:00
snandini
2e191e1dae Release 5.2.0.64W
Release 5.2.0.64W

Change-Id: I14aa6e3ab21633f8247a5f9924b83e78bfec3c27
CRs-Fixed: 774533
2018-02-07 04:52:48 -08:00
Alok Kumar
3a7a4407d5 qcacld-3.0: Fix buffer overflow for HTT_T2H_MSG_TYPE_FLOW_POOL_MAP
Currently variable "num_flows" and "len" is used directly, from
message, without any validation which causes buffer over-write.

To address this issue add check for the num_flows and len

Change-Id: Iddf2df0fd65f5b33b54f1a608cdd34e400c0e03c
CRs-Fixed: 2148489
2018-02-07 04:52:48 -08:00
snandini
6792efac4e Release 5.2.0.64V
Release 5.2.0.64V

Change-Id: I46addbc3c24a6bd74f4b4b47e3dda1d3860e8991
CRs-Fixed: 774533
2018-02-07 04:00:23 -08:00
Vignesh Viswanathan
fb9d07522e qcacld-3.0: Send 11k offload params as part of RSO to WMA
Currently 11k offload params is sent directly as a message from CSR to WMA
leading to timing issues where 11k offload params are sent to the FW
before RSO start is sent.

Send the 11k offload params as part of the RSO request from CSR to WMA
and handle the request to send the 11k offload WMA command to FW.

Change-Id: Icff7146171cdf325f3a7e5a067652669ec0270ff
CRs-Fixed: 2183161
2018-02-07 04:00:22 -08:00
Surabhi Vishnoi
7f085d2147 qcacld-3.0: Adding an ini for wmi wq watchdog
Adding an ini for wmi workqueue watchdog, the ini value will
give the timeout value for wmi watchdog timer.

Change-Id: I6338351c8d788478307892152305e10186ead6cb
2018-02-07 04:00:19 -08:00
Abhishek Singh
99c70a06f3 qcacld-3.0: Fix race between PD down and Assoc resp handling
In PD down uevent handling, if assoc resp timeout timer is active,
the timeout API is called from kernel thread and free up the
‘pLimJoinReq’. Now if assoc resp is received in MC thread it also
access ‘pLimJoinReq’ in parallel. This leads to use after free.

To fix this post a msg to MC thread to call the timeout APIs of the
connection timers.

Change-Id: I95e0bbb91c382298e35928d602c096ea5267dbe4
CRs-Fixed: 2184590
2018-02-07 04:00:16 -08:00
snandini
d62784459d Release 5.2.0.64U
Release 5.2.0.64U

Change-Id: I420657fb75d9cc852666bb7051b46c41d5f2db5c
CRs-Fixed: 774533
2018-02-07 03:07:38 -08:00
Arunk Khandavalli
2462f461ab qcacld-3.0: Remove redundant wma_handle values
update the max frag entry,ht,vht, rf chains from from the converged
target psoc capabilities information and remove redundant wma_handle.

CRs-Fixed: 2178922
Change-Id: I6bfe734bac85905b0d6837bffb37d286cff2a4ff
2018-02-07 03:07:37 -08:00
Arunk Khandavalli
aaf6b14da0 qcacld-3.0: Use converged wmi service bit map
Use the converged wmi service bitmap from the
target psoc info instead extracting the same from
the ready event.

CRs-Fixed: 2178812
Change-Id: I00d61aa3cbb2a90459d4363e2ca04e297cc74187
2018-02-07 03:07:32 -08:00
snandini
3c17ab272e Release 5.2.0.64T
Release 5.2.0.64T

Change-Id: Idf8b6b97cfb12c807043c16c6ae577f24d09f5d9
CRs-Fixed: 774533
2018-02-07 02:15:13 -08:00
Arunk Khandavalli
80a61351fb qcacld-3.0: Extract phy_capability from target psoc
As part of converged init deinit architecuture, all the target
capabilities are saved as part of target_psoc_info, use the same
to update.

CRs-Fixed: 2178726
Change-Id: Iad1d0224e0fdfe1140d1600e17f3e585142eaf63
2018-02-07 02:15:12 -08:00
Will Huang
9323e8559b qcacld-3.0: Add msg.flush_callback for wma_send_msg_by_priority
If wma_send_msg with msg_type WMA_SET_LINK_STATE_RSP, tpLinkStateParams
params has a member callbackArg which is malloc from heap. If this
message is flushed when driver unload, because no msg.flush_callback is
supplied, the flush just free msg->bodyptr and callbackArg got leak.

Fix it by supply a flush_callback as wma_discard_fw_event, and minor
change to avoid NULL pointer access.

Change-Id: Ie979a1e83cbd7c87e5bbb08382ae2af3230a13db
CRs-Fixed: 2181458
2018-02-07 02:15:08 -08:00
jiad
195f703bd6 qcacld-3.0: save return value of hdd_ipa_init
If hdd_ipa_init failes, driver cleanup is done. But return value
of hdd_ipa_init is not saved and returned to caller. This will
lead to wrong behaviors if following actions depend on the
return value.

Fix is to save return value of hdd_ipa_init.

Change-Id: Iad10733c8fcb7049aa9573ccd1da51250aa7fddf
CRs-Fixed: 2181510
2018-02-07 02:15:05 -08:00
snandini
33c5f328d7 Release 5.2.0.64S
Release 5.2.0.64S

Change-Id: I086941fb6f0332018edce525dc3d03797793e156
CRs-Fixed: 774533
2018-02-07 00:03:52 -08:00