Commit Graph

17262 Commits

Author SHA1 Message Date
Manikandan Mohan
8773b5ccc7 qcacld-3.0: Update HDD channel validation for frequency
Due to channel number duplication with introduction of 6Ghz band
support update hdd channel validation function to check channel
frequency instead of channel number. Also remove channel references
in start_bss path.

Change-Id: I5f37524b71a2b224ca79b0f67f871e50523e16be
CRs-fixed: 2545103
2019-10-14 17:44:49 -07:00
nshrivas
48001f8e31 Release 5.2.0.152I
Release 5.2.0.152I

Change-Id: I67dc3b972e0ba1fc13511ee5c3b6d2af41448392
CRs-Fixed: 774533
2019-10-14 15:56:07 -07:00
Pragaspathi Thilagaraj
ea180474cd qcacld-3.0: Update group management cipher suite in RSO command
The host driver updates the group management cipher suite to the
firmware as part of RSO commands over the WMI_AP_PROFILE
command. The group management cipher suite is updated from the
group cipher suite which is not correct. As part of join success
update the group management cipher suite from roam_profile
in the roam serialization command in
csr_roam_save_connected_information().

Update the group management cipher suite from the roam profile
to the roam_request and copy it to the WMI_AP_PROFILE command
params in wma.

Change-Id: Ic8dca6938c487396e0202202efbb44ff214ecdcc
CRs-Fixed: 2542225
2019-10-14 15:56:07 -07:00
nshrivas
d39a318e9d Release 5.2.0.152H
Release 5.2.0.152H

Change-Id: I834e2fb86d6807053ce975cfaa54fc3bea5d0c69
CRs-Fixed: 774533
2019-10-14 07:50:48 -07:00
Abhishek Ambure
c51513966a qcacld-3.0: Cleanup old scan filter
Driver uses old scan filter and old scan filter is converted
into new scan filter while sending scan command.

TO avoid this conversion use and fill new scan filter whenever
required.

Change-Id: Ib7e1c571c042a36f0b5864033ba640e8df1cd2f1
CRs-Fixed: 2544677
2019-10-14 07:50:48 -07:00
Liangwei Dong
eecef520c8 qcacld-3.0: Use frequency to access "defaultPowerTable" list
Get channel power information by center_freq from "defaultPowerTable"
list instead of chan_num because duplicated channel number exists if
enable 6GHz band.

Change-Id: I88c8ae2b14e1b2c48410fdf7bff5bba96b73f32d
CRs-Fixed: 2531046
2019-10-14 07:50:43 -07:00
nshrivas
9b93b2437c Release 5.2.0.152G
Release 5.2.0.152G

Change-Id: Ie0ef1cc9b9d275186f27a4ee5f070a295bfca3aa
CRs-Fixed: 774533
2019-10-14 05:47:17 -07:00
Rakesh Pillai
7677839516 qcacld-3.0: Enable interrupts after dp srngs are initialized
Currently the interrupts are enabled before the datapath
srngs are initialized. This causes an invalid access of srngs
when any interrupt is received before srngs initialization,
which can happen during operation mode switch, eg during switch
from monitor mode to mission mode.

To avoid this invalid access of srngs, enable the interrupts
only after the srngs are initialized.

CRs-Fixed: 2486050
Change-Id: I9e436f30e2f6b67e02db3ed32231570ab51d5f7b
2019-10-14 05:47:16 -07:00
Abhishek Singh
623603404e qcacld-3.0: Avoid using struct csr_roam_session in lim
struct csr_roam_session is used in LIM in func
lim_get_session_by_macaddr to get if SA is same as one of the vdev.

struct csr_roam_session should not be used by LIM, so raise change
to used vdev obj manager to find a vdev with same MAC address.

Change-Id: I13bf65a65023a2a8dc82013e2668a075883c111a
CRs-Fixed: 2544552
2019-10-14 05:47:10 -07:00
Manikandan Mohan
cf5048294b qcacld-3.0: Disallow TDLS when NAN is active
Since NAN has higher priority over TDLS, disallow TDLS link
when NAN is active.

Change-Id: I7de34dbb2f808c36358ac5266c26e2729b901941
CRs-fixed: 2537158
2019-10-14 05:47:03 -07:00
Rajeev Kumar
d097ea1836 qcacld-3.0: Add OS_IF DSC vdev op protection to indicate mgmt frame api
HDD indicate mgmt frame API is called from scheduler context to send mgmt
frames to user which can happen in parallel to del virtual interface which
can lead to race conditions and stale netdev pointer usage and hence add
OS_IF DSC vdev op protection to indicate mgmt frame API such that when
management frames are getting indicated to user space del virtual interface
transaction is synchronized.

Change-Id: I620225f7a0a46efa6da6d615e3014a8f4f5e43cf
CRs-Fixed: 2543244
2019-10-14 05:46:53 -07:00
nshrivas
f9ffa13a2d Release 5.2.0.152F
Release 5.2.0.152F

Change-Id: I0bf7dcc1b74f804e67e915f8380cce91c7dabec6
CRs-Fixed: 774533
2019-10-12 22:15:44 -07:00
Abhishek Ambure
79932494df qcacld-3.0: Refactor SME code to check connection state
IBSS code is protected by "QCA_IBSS_SUPPORT" feature flag, at SME
layer CSR API checks the connection state. For IBSS disable, these
SME APIs to check connection state must return flase.

Change-Id: I1bcd20a07d484cea2769c5b3171d805c8b82b308
CRs-Fixed: 2542724
2019-10-12 22:15:43 -07:00
Abhishek Ambure
e9d049901a qcacld-3.0: Disable IBSS code
IBSS code is placed under "QCA_IBSS_SUPPORT" feature flag. IBSS code is
disabled and to enable it define "QCA_IBSS_SUPPORT" in default_defconfig.

ex. CONFIG_QCA_IBSS_SUPPORT := y

Change-Id: I08619dbed4661d9fc132adbcd1de2cd4470a2737
CRs-Fixed: 2542078
2019-10-12 22:15:39 -07:00
nshrivas
7368b5f7e9 Release 5.2.0.152E
Release 5.2.0.152E

Change-Id: Id7aac51b70265610fc7ce688c1cfad3493320ee8
CRs-Fixed: 774533
2019-10-12 20:36:19 -07:00
Alan Chen
4bc1c117ad qcacld-3.0: Use dsc vdev start wait api for hdd open
HDD open can come in the middle of idle shutdown and if the vdev start
wait API is not in use, HDD open will fail which will result into WIFI
on failure. Hence, use dsc vdev start wait api for HDD open.

Change-Id: I398879d9669d0a9124e844fc325065299a1d7259
CRs-Fixed: 2540661
2019-10-12 20:36:19 -07:00
Jianmin Zhu
90693c294b qcacld-3.0: Fix buffer overflow when save chan tx power
Before copy tx power, need check length correctly to avoid
buffer overflow.

Change-Id: Ib18feaa36d3cbdcc50442885fd8b98888f34eab8
CRs-Fixed: 2538397
2019-10-12 20:36:09 -07:00
Jianmin Zhu
d6f0563f96 qcacld-3.0: Enable LFR3 just for Helium and HST
Enable LFR3 just for Helium and HST,  Rome still use LFR2

Change-Id: Iee0d11898ba18246386496df626f8cbbeb05fe1e
CRs-Fixed: 2543516
2019-10-12 20:36:00 -07:00
Yeshwanth Sriram Guntuka
0bf1a72b72 qcacld-3.0: Remove assert in peer_unmap_timer_handler
Fw down indication is received after disconnection
is triggered on STA vdev. After peer delete command
is sent to fw, peer_detach is invoked and peer unmap
timer is started. Since fw is down, peer unmap is
not sent by firmware. Shutdown is not invoked by
pld within the peer unmap timeout value which results
in assert in peer_unmap_timer_handler even though
driver is in recovery state.

Fix is remove the assert in peer_unmap_timer_handler
and trigger recovery which already has the necessary
checks.

Change-Id: Iffd83305d2c1eaec836fcea53d406cada5bfe095
CRs-Fixed: 2542886
2019-10-12 20:35:55 -07:00
Alan Chen
df858ef763 qcacld-3.0: Add new runtime pm wakelock for user
Add new runtime pm wakelock for user such that runtime PM can be
disabled for certain scenarios.

Change-Id: Ibaa64f351393b63559b55827f77cdf126e7038b3
CRs-Fixed: 2534535
2019-10-12 20:35:50 -07:00
nshrivas
0d216e9be4 Release 5.2.0.152D
Release 5.2.0.152D

Change-Id: I924a93f4852716ed5478c071756fdaf73320208f
CRs-Fixed: 774533
2019-10-12 19:03:36 -07:00
Rajeev Kumar Sirasanagandla
1b3a535500 qcacld-3.0: Ignore regulatory offload indication from FW
Based on the ini "ignore_fw_reg_offload_ind" ignore regulatory
offload indicatin from fw.

Change-Id: I6e20f2100eeac8e93baa5c5d3f3d1c8b33356aed
CRs-Fixed: 2532989
2019-10-12 19:03:35 -07:00
Abhishek Singh
1bb77499c5 qcacld-3.0: Remove duplicate logic to move to SMM from STA connect
In csr_roam_connect, driver check and move to DBS before the connect
is requested if required and once connection is completed, it check
if SMM can be achieved depending on the channel it connected to or
if it failed to connect.

Thus there is no need to check before connection is completed
if SMM is required as driver is not aware of the channel in which
STA will end up connected.

Thus remove the duplicate logic to move to SMM from STA connect.

Change-Id: I0d069fba3c47dec78601a0f3529fde381d4936ed
CRs-Fixed: 2543601
2019-10-12 19:03:29 -07:00
nshrivas
d9c5b35b9d Release 5.2.0.152C
Release 5.2.0.152C

Change-Id: Iee4fd2e2ebb7efa35ae37e58591d5c06a67f92cf
CRs-Fixed: 774533
2019-10-12 16:23:31 -07:00
Chaoli Zhou
364a002f8d qcacld-3.0: Fix build failure: ISO C90 forbids mixed declarations and code
It has "ISO C90 forbids mixed declarations and code"
build issue on the LE.UM.4.1.1, so fix it.

Change-Id: I0bc918f55e9a7d3c540a455ed292977c15300456
CRs-Fixed: 2542657
2019-10-12 16:23:31 -07:00
Abhishek Singh
e6b951b7e9 qcacld-3.0: Add proper queue_type in cancel command request
If proper queue_type is not added the serialization command is not
removed from the queue. Thus the connect command is not removed
from pending queue on receiving the disconnect command.

This lead to HDD and SME out of sync with SME in connected state
and HDD in disconnected state. Thus during stop adapter HDD
doesn't try to disconnect the connected session. 

Thus add queue_type as active or pending while calling cancel cmd.

Change-Id: I4af2c63a895065aefbb76609808a972354460cb2
CRs-Fixed: 2543246
2019-10-12 16:23:24 -07:00
nshrivas
485d4e2fc3 Release 5.2.0.152B
Release 5.2.0.152B

Change-Id: Ide622ce585b97f1facb47a85e095cf21722f2f25
CRs-Fixed: 774533
2019-10-12 14:39:25 -07:00
Abhishek Ambure
723599dcc4 qcacld-3.0: Fix multiple start of opportunistic timer
In a connect request if there are multiple BSSID, opportunistic
timer is started for each failed BSSID. If connection to a BSSID
takes more than opportunistic time, driver may end up starting
opportunistic timer and queueing SMM request multiple times.

To avoid this unnecessary multiple start of opportunistic timer,
start it only once after final connect failure.

Change-Id: I351cb631fe832239e5f5539f00c306f90192880b
CRs-Fixed: 2543631
2019-10-12 14:39:25 -07:00
Jinwei Chen
5423579ff2 qcacld-3.0: enable DP pending memory flushing
Enable DP pending memory flushing by macro WLAN_DP_PENDING_MEM_FLUSH

Change-Id: I77a85c208a77cf7d2e43270b396e4ed9e41c3e85
CRs-Fixed: 2543465
2019-10-12 14:39:19 -07:00
nshrivas
445e192a1e Release 5.2.0.152A
Release 5.2.0.152A

Change-Id: I6a513e39ab86af7cd78f3f08312789f9f2939bea
CRs-Fixed: 774533
2019-10-12 13:10:17 -07:00
Srinivas Dasari
ff782fbcd8 qcacld-3.0: Clear PTK and GTK install flags in disconnect handler
PTK and GTK are installed to firmware and installation status
of each key is maintained in driver. Data transmission is allowed
only if both the keys are installed.
Currently these flags are getting cleared after installing both
ptk and gtk to firmware.
But if one key is installed and the other key is not installed
due to some reason(e.g. connection abort), corresponding status
is not cleared and being referred in the next connection attempt.
This is causing the data transmission to happen from driver to
firmware after installing GTK before installing PTK, as the
ptk_installed from previous connection is still set. This is
not allowed by firmware and issues an assertion.
PTK and GTK are invalid once the station disconnects. So reset
the flags as part of connection info cleanup.
Reset the flags before issuing connection also to avoid usage
of previous connect status or garbage values.

Change-Id: I8fa7bd0a15eab2fed80f050e77df3554d0f1b73a
CRs-Fixed: 2542785
2019-10-12 13:10:16 -07:00
Abhishek Singh
7b2fb960c3 qcacld-3.0: Fix enum wlan_phymode to include proper phymode value
Few phymode are missing from enum wlan_phymode and many are not
valid phymode, e.g for 5ghz 40minus and 40plus are not valid.

So add the missing enums and remove invalid enums from enum
wlan_phymode.

Change-Id: I56710c6a04ac365a54e2c4ba138e0e887fbdd960
CRs-Fixed: 2531859
2019-10-12 13:10:12 -07:00
nshrivas
3a7059c08e Release 5.2.0.152
Release 5.2.0.152

Change-Id: I0c1c71206de605315342e89ba2ba763b45c654de
CRs-Fixed: 774533
2019-10-12 11:34:24 -07:00
Lin Bai
c33d360d74 qcacld-3.0: Disable DBR feature on sdxprairie
DBR feature not required on SDX platform, and disable it.

Change-Id: Ic4e4029a58a2c1658f6192d31412b213272d023c
CRs-Fixed: 2505676
2019-10-12 11:34:23 -07:00
nshrivas
ae2c9bf26c Release 5.2.0.151Z
Release 5.2.0.151Z

Change-Id: I5d77e20c3bc8505176d40bc62223b1df31404261
CRs-Fixed: 774533
2019-10-12 02:34:02 -07:00
Nisha Menon
0333f2d173 qcacld-3.0: Remove Datapath items in WCNSS_qcom_cfg.ini
Remove certain DP params from .ini and update their default
values in header file.
Parameters updated are:
rx_mode = 20(DP_RX_THREAD | NAPI),
ce_service_max_rx_ind_flush = 1,
ce_service_max_yield_time = 500.
Parameters removed:
gEnableFastPath=1.

Change-Id: I397c40270444a7370e455425dd72bdffdb7c831d
CRs-Fixed: 2542264
2019-10-12 02:34:02 -07:00
nshrivas
bc797147a6 Release 5.2.0.151Y
Release 5.2.0.151Y

Change-Id: I8458dc669a39a38eb0f0b6c336aa64e2bebba9b2
CRs-Fixed: 774533
2019-10-11 04:30:51 -07:00
Yu Wang
36d5210686 qcacld-3.0: set BA buffer size according to he cap of sta
In SAP mode, if he is enabled, the BA buffer size will be
set to 256 in addba response, some STAs can not handle it
properly, which may result in data transmition failure on
these STAs. Then they can not send out DHCP request and so
failed to obtain IP address.
To fix this issue, check the he capability of both STA and
the session, set the buffer size to 256 only when both are
he capable.

Change-Id: If55619d598bb9603cf7ce3bc116d80cf718676d6
CRs-Fixed: 2515183
2019-10-11 04:30:51 -07:00
nshrivas
f81805197f Release 5.2.0.151X
Release 5.2.0.151X

Change-Id: I179f6f5977fee56d8f2e37f04a4af1aa8ab69c8a
CRs-Fixed: 774533
2019-10-11 02:58:42 -07:00
Pragaspathi Thilagaraj
76d0e25a07 qcacld-3.0: Defer connect request when roaming is in progress
Consider STA+STA case where roaming is enabled on one sta.
There is a case where STA1 is roaming to a bssid and there is a
connect request for same bssid on STA2. Here the firwmare would
have already created peer for STA1 peer and STA2 peer creation
would have failed. But at host, since there is no response for
peer creation, the peer would be created for STA2 vdev.
When roam synch indication is received, then peer create fails
at host for the roaming vdev due to duplicate peer detection
logic. Still roam synch confirm is sent to the firmware.
When disconnection is received for STA1, then del bss is sent
for this vdev and firmware asserts as the peer was not created
for this STA2 vdev.

Defer the connect request processing and return failure when
roaming is in progress.

Change-Id: I0892dc567cd17e335b1de3cd5260050f2c1e6b44
CRs-Fixed: 2538389
2019-10-11 02:58:42 -07:00
Jianmin Zhu
90469212be qcacld-3.0: Use generic freq to chan API
In lim_set_ch_phy_mode, use generic freq to chan API.

Change-Id: I7b35bc2ac31aaf02f8fea94b99312b93e8af13d7
CRs-Fixed: 2542975
2019-10-11 02:58:34 -07:00
nshrivas
9e40a3d074 Release 5.2.0.151W
Release 5.2.0.151W

Change-Id: Id6070b7bd10872ce018d050bc6542e31b45c681b
CRs-Fixed: 774533
2019-10-11 00:34:48 -07:00
Nirav Shah
aa34cbb6c6 qcacld-3.0: Add periodic stats for flow control
Add periodic stats for flow control and
group credit for HL and LL datapath.

Change-Id: I835ba366e9e45bbb1e4b6015577c451c7c0606c2
CRs-Fixed: 2485544
2019-10-11 00:34:47 -07:00
nshrivas
a849eec65a Release 5.2.0.151V
Release 5.2.0.151V

Change-Id: I916ce6e27743d206eb1910fb606b54f4f7f70782
CRs-Fixed: 774533
2019-10-10 13:43:19 -07:00
Rakesh Pillai
31d7fb2564 qcacld-3.0: Add vdev subtype to the vdev handle
The vdev subtype is needed to know if the operating
mode of a particular vdev is P2P or not.

Hence add the vdev subtype information in the
vdev handle.

CRs-Fixed: 2498715
Change-Id: Ia9b86bad389825474a0506804e07b7af555d36cb
2019-10-10 13:43:18 -07:00
nshrivas
2af4857d41 Release 5.2.0.151U
Release 5.2.0.151U

Change-Id: Ic8265223f524c0e46b26e9fcc8ce68696b8f3d18
CRs-Fixed: 774533
2019-10-09 22:02:06 -07:00
Abhishek Singh
bf8f96fe77 qcacld-3.0: Fix STA connect for service_peer_assoc_conf not enabled
In case wmi_service_peer_assoc_conf is not enabled the add bss resp
return failure and thus the STA connection fails.

To fix this send proper status to add bss resp in case
wmi_service_peer_assoc_conf is not enabled.

Change-Id: I0aa1de8cfb739e31fc89265766f67fea070d3b17
CRs-Fixed: 2538753
2019-10-09 22:02:05 -07:00
Guisen Yang
260fd0882c qcacld-3.0: Remove hif_exec from NAPI switch
When NAPI is disabled, there are some failures show that certain APIs
are not defined, these APIs are not NAPI related and defined in
hif_exec.c. But this file will not be compiled when CONFIG_WLAN_NAPI
is not defined. Remove this build constraint and encap the NAPI related
APIs with CONFIG_WLAN_NAPI in file hif_exec.c. Meanwhile add the HIF_CE_DIR
for USB and SDIO case, otherwise it has build error after hif_exe.c move to
the common directory.

Change-Id: Ie1a32f6abbe2d361e126c361a2522ae0500139e9
CRs-Fixed: 2532586
2019-10-09 22:02:02 -07:00
nshrivas
86a71d038f Release 5.2.0.151T
Release 5.2.0.151T

Change-Id: I540b2bb9f59293214f2e5d3b676b636dceb1b1f3
CRs-Fixed: 774533
2019-10-09 20:39:27 -07:00
Mohit Khanna
d2ecf985d6 qcacld-3.0: Change Very High BW thresh to 9000
Change the very high bandwidth threshold to 9000 packets. Thus if the
packet length is 1500 bytes and for 100ms bandwidth interval this is
about 1030Mbps. This makes the high bandwidth range 240Mbps - 1030Mbps.

Change-Id: Ia9d5f9e3547148c5dc378a728514c4020649944e
CRs-Fixed: 2527623
2019-10-09 20:39:27 -07:00