Commit graph

18,048 commits

Author SHA1 Message Date
nshrivas
a010064c72 Release 5.2.0.163T
Release 5.2.0.163T

Change-Id: I484407a8ada8cafd25ca77ea5a8404e5b38d61a2
CRs-Fixed: 774533
2020-01-03 12:20:36 -08:00
Yeshwanth Sriram Guntuka
872ba80018 qcacld-3.0: Put the htc pkt in freelist on htc_send_pkt failure
In case of nbuf map failure as part of htc_send_pkt for
tx credit flow disabled endpoints, htc pkt is not put
back in the freelist as return status is not checked
resulting in memory leak.

Fix is to put the htc pkt back in the freelist based on
status returned by htc_send_pkt.

Change-Id: I9173fa3684bc887a360b92d48b689c53a5ad5dbe
CRs-Fixed: 2593729
2020-01-03 12:20:36 -08:00
Liangwei Dong
5f8906d29f qcacld-3.0: Fix unknown phymode in vdev start
If gDot11Mode=1 is set to INI, DUT STA will be failed to
connect to 5G AP due to "unknown phymode" included in
vdev start.
Correct the driver to use freq API to identify 5G band
BSS instead of channel API.
And the change forces 11ax mode for 6ghz bss.

Change-Id: I692fa744756490e7125ccd5fd82c15febc19ce68
CRs-Fixed: 2594048
2020-01-03 12:20:19 -08:00
Amruta Kulkarni
4edc97d877 qcacld-3.0: Add 6ghz HE band caps in peer_assoc cmd
While sending peer_assoc_cmd to FW,add 6ghz HE band capability
if chan_freq is 6ghz.

Change-Id: Icfe886e8c9089d2c58609866e5bc64250c2b6eea
CRs-Fixed: 2591039
2020-01-03 12:20:08 -08:00
nshrivas
88d2ca39e1 Release 5.2.0.163S
Release 5.2.0.163S

Change-Id: Icb898fe00381983d16d9c53f0066117101d99e30
CRs-Fixed: 774533
2020-01-03 06:26:07 -08:00
sheenam monga
10b9a7ff27 qcacld-3.0: Send RSO update after roaming to a whitelist SSID
When roaming to  whitelist SSID, firmware offloads
EAPOL 4-way HS to supplicant. Suppose initially if DUT connects
to SSID1 and then firmware roams to SSID2 then 4-way HS should be
offloaded to supplicant as the firmware doesn't posses the
pre-shared key. When roaming happens between same SSID, then
firmware has PSK and 4-way handshake is taken care by firmware.

But due to issue in roaming code, 4-way HS is offloaded to supplicant
even if roam happens between same SSID. Issue is for ROAM_RSO_STARTED
state in csr_roam_switch_to_rso_start API, there is no handling to send
RSO update if Roaming is already started, due to which
csr_roam_offload_scan is not invoked.
Second issue in roaming code is that RSO is not enabled with the
new SSID2 in firmware. RSO is not enabled as after set key
complete the state of roaming state was not set to
eCSR_NEIGHBOR_ROAM_STATE_INIT. Due to this the SSID in
firmware is still SSID1 and when firmware tries to roam again
to SSID2 it offloads 4-way HS to supplicant instead of handling
within firmware only.

Fix is to update the roam state from eCSR_NEIGHBOR_ROAM_STATE_CONNECTED
to eCSR_NEIGHBOR_ROAM_STATE_INIT in csr_process_roam_sync_callback after
roam synch propagation and also handle ROAM_RSO_STARTED state with
roam_command ROAM_SCAN_OFFLOAD_UPDATE_CFG instead of returing success from
csr_roam_switch_to_rso_start API. Now when supplicant does set key after
4-way HS, roaming is enabled via csr_roam_chk_lnk_set_ctx_rsp->
csr_roam_link_up->csr_neighbor_roam_indicate_connect->
csr_neighbor_roam_info_ctx_init->csr_post_roam_state_change.

Change-Id: I5b81f2e03fe1c7dee2820370d06f4e4f8017f12c
CRs-Fixed: 2587120
2020-01-03 06:26:06 -08:00
Will Huang
0e083cb878 qcacld-3.0: Fix runtime error if undefine WLAN_CONV_CRYPTO_SUPPORTED
wlan_set_vdev_crypto_prarams_from_ie() is defined in qcacmn code but
disabled in Kbuild if CONFIG_CRYPTO_COMPONENT=n, it caused runtime
error if run it.

The #ifdef/#else code should live in common code where define
wlan_set_vdev_crypto_prarams_from_ie(), but there is no motivation
from WIN side to add any code which is not converged.
And it is not appropriate to put it into exist head files, so just
define inlined wrapper functions to cover the not defined case.

Change-Id: I11916703fff860025728f904c8d3906eee1d0037
CRs-Fixed: 2592904
2020-01-03 06:25:57 -08:00
nshrivas
206f6e0501 Release 5.2.0.163R
Release 5.2.0.163R

Change-Id: Ic9078bbcbe61d053ebad7e5f173e8eecc3210b66
CRs-Fixed: 774533
2020-01-03 01:26:38 -08:00
Jianmin Zhu
b01384b43d qcacld-3.0: P2P Go failed to switch to 2G band when 5G disabled
If g_enable_go_force_scc isn't enabled, P2P Go failed to switch
to 2G band when 5G disabled.

Fix: Check whether need switch channel for band restriction
first, check go force scc later.

Change-Id: Icf8de51321debea2806585d47d2bd4fc6486075e
CRs-Fixed: 2594279
2020-01-03 01:26:38 -08:00
nshrivas
bdbba5fde6 Release 5.2.0.163Q
Release 5.2.0.163Q

Change-Id: I4cb7105add29b41f44bdc1743057127404e3742f
CRs-Fixed: 774533
2020-01-03 00:07:05 -08:00
gaurank kathpalia
1c6a5cf628 qcacld-3.0: Allow channel 12, 13 in 2.4ghz for ACS
Currently the driver does not allow the channels
12 and 13 for SAP ACS because most of the legacy
stations don't scan them and they can cause many
IOT issues. But if they are the only channels left
in the spectrum (for eg. all other channels became
unsafe), then the SAP would fail as the driver did
not consider channel 12-14 for ACS.

Fix is to consider 12-14 for ACS, remove them if
other channels are available and if they are the
only channels available in the spectrum, then start
the SAP on any one of these channels.

Change-Id: I599d0e95e9bdc3aed70d6a515d7a52c39846b6f2
CRs-Fixed: 2576635
2020-01-03 00:07:05 -08:00
nshrivas
b78ee0701c Release 5.2.0.163P
Release 5.2.0.163P

Change-Id: I5950cfcb62cd285fcd5c5fbbe1ce85c15a221138
CRs-Fixed: 774533
2020-01-02 17:04:10 -08:00
Yu Ouyang
1d8f5212b6 qcacld-3.0: Fix pdev undeclared issue
In function hdd_ocb_register_sta(), it will call function
cdp_peer_register(soc, (struct cdp_pdev *)pdev, &sta_desc), but pdev
is undeclared.

Change-Id: Ie0341b8ff880c21960a655399378b519fc240631
CRs-Fixed: 2595641
2020-01-02 17:04:10 -08:00
nshrivas
81a1df2b19 Release 5.2.0.163O
Release 5.2.0.163O

Change-Id: Iaf15579e7e7eaf18713a425034fe53023af1889b
CRs-Fixed: 774533
2020-01-02 13:08:43 -08:00
Jinwei Chen
8cfe20d562 qcacld-3.0: use user setting for mpdu_density if target value is 0
Use user setting for HT  mpdu_density if target reported value is
0 which means no restriction.

Change-Id: I4be7d3f4137744e5c9e5bdfc7b50e6c338bd4f79
CRs-Fixed: 2592163
2020-01-02 13:08:42 -08:00
nshrivas
2c795212b4 Release 5.2.0.163N
Release 5.2.0.163N

Change-Id: I6cf5c34c42c2f11cec23dce8e68dc4dc9bc14851
CRs-Fixed: 774533
2020-01-02 11:40:07 -08:00
gaurank kathpalia
9a4607b710 qcacld-3.0: Enable transition of STA from 20->40, 80 Mhz
Scenario: Turn on SAP in 2.4ghz in 20Mhz and connect
DUT to it.
Now trigger channel change command and change the SAP
channel to 5ghz in 80Mhz mode.

Issue:-
STA would not go to 80Mhz mode and would remain in 20Mhz
Issue in driver was that it was checking for the ht
supported chan width rather than the self capability.
HT self capability would always be 0 if the connection
is in 20Mhz, and thus the STA would never be able to
ramp up it's BW.

Expectation:
STA should move to 80mhz if it supports 80Mhz bandwidth.

Fix:-
Check for the self capability rather than the ht channel
BW supported.

Change-Id: I546d5edd9881c1013b1a08989cbab3d4ef8fae4d
CRs-Fixed: 2594982
2020-01-02 11:40:07 -08:00
Naman Padhiar
ed3ada0bb0 qcacld-3.0: Correct API name called from HIF layer
Correct API name for disable irq called from HIF layer.

Change-Id: I353723dec61aba877160dd1faa96afdffc1a416b
2020-01-02 11:39:51 -08:00
nshrivas
3529aa2304 Release 5.2.0.163M
Release 5.2.0.163M

Change-Id: I25d650b9c84779491ce9599358cca4ea61dd300e
CRs-Fixed: 774533
2020-01-02 08:16:12 -08:00
gaurank kathpalia
893de039ac qcacld-3.0: Add AP to avoid list if EAPOL failure happens
Scenario:
Configure two AP with same SSID and different
passwords, and try to connect to one and then roam to
other.
Observations: The DUT would connect to the second AP
but since the password is different, the EAPOL would
certainly fail, and hence it would result in overall
connection drop and the DUT could not establish a
secure connection with the second AP, and it
disconnected with the previous AP.

Fix is to avoid the AP for some time and try to
connect to other BSSIDs, and still if the EAPOl
fails with the new AP, blacklist it.

Change-Id: Ifb908823cd0eb1873ec7a4b08dffa86e548533fc
CRs-Fixed: 2591467
2020-01-02 08:16:12 -08:00
gaurank kathpalia
628d3ef690 qcacld-3.0: Check for zero/broadcast BSSID in BLM
Currently the BLM does not check the BSSID of
the entry for 0 or broadcast BSSID, and thus
can lead to addition of many entries with such
property.
This would also result in removal of old valid BSSID
entry data, which is essentially required.

Fix is to check the BSSID of the entry for 0
or broadcast, and reject them if not valid.

Change-Id: I2939673a1c4efb1a22e03ffe82121513c071fa4b
CRs-Fixed: 2595331
2020-01-02 08:15:55 -08:00
nshrivas
1d4a50bbc7 Release 5.2.0.163L
Release 5.2.0.163L

Change-Id: I160fbdf7552f025de0329ec4ed044b4ca4f30870
CRs-Fixed: 774533
2020-01-02 06:43:50 -08:00
Tingting Lin
ac2116799f qcacld-3.0: Enable mib stats feature
Add and enable mib stats feature in
qca6390_defconfig.

Change-Id: I6b83bfc6168f773cda252cceb4c3dae754421474
CRs-Fixed: 2592865
2020-01-02 06:43:49 -08:00
Tingting Lin
3c04146cb6 qcacld-3.0: Enable mib stats in genoa
Enable mib stats feature in qcn7605_defconfig.

Change-Id: Iec76d1403b06e415b97a5e2bc58896b6e9d5ef2a
CRs-Fixed: 2594406
2020-01-02 06:43:33 -08:00
nshrivas
d27bc2016f Release 5.2.0.163K
Release 5.2.0.163K

Change-Id: Ia7bcde72c5c22f7267663186ce0f27cce0e020cd
CRs-Fixed: 774533
2020-01-01 23:37:35 -08:00
Yu Ouyang
b08f9f47b7 qcacld-3.0: Enable WPA3 SAE feature for ROME SDIO
Enalbe WPA3 SAE feature in config file for ROME SDIO.

Change-Id: I894dd6a89be335c3e130d663a30734cfa06ac4e9
CRs-Fixed: 2593159
2020-01-01 23:37:34 -08:00
nshrivas
4733e917ad Release 5.2.0.163J
Release 5.2.0.163J

Change-Id: Id476cbbbc8181ef5ebb962be3fd446ccdd495b1c
CRs-Fixed: 774533
2020-01-01 20:04:12 -08:00
Srinivas Dasari
b020999b07 qcacld-3.0: Remove sta_id check in NDP peer handlers
sta_id is carrying an uninitialized value from the caller
lim_send_sme_ndp_(add/del)_sta_rsp(). So, it's failing the
check for its validity and skipping the first NDP peer creation
/last NDP peer cleanup.
Remove the sta_id check as it's no longer used. So that the NDP
peer creation/cleanup happens properly.

Change-Id: I8daff2bfbc57b7a2fa17a121a5a9dec6975137de
CRs-Fixed: 2594317
2020-01-01 20:04:12 -08:00
Srinivas Dasari
5cc0b7c087 qcacld-3.0: Increase max supported vdevs by driver to 6
Maximum no.of supported vdevs by driver are currently 5. Increase
it to 6 to allow the creation of a separate vdev for NAN.

Change-Id: I1cdc4cc88142bf7a2ad9ab7b8f518453482d2b86
CRs-Fixed: 2592023
2020-01-01 20:03:59 -08:00
Srinivas Dasari
c9e048e52f qcacld-3.0: Add NAN vdev_id entry to policy mgr
Firmware sends vdev id allocated for NAN discovery in NAN enable
response. Validate the same and add corresponding entry to
policy manager.

Change-Id: I5e7426c6739620e05480fb90cecdb8ff156fd4cd
CRs-Fixed: 2592021
2020-01-01 20:03:44 -08:00
nshrivas
2465b3b1cc Release 5.2.0.163I
Release 5.2.0.163I

Change-Id: If90b0808a871ee2e48eaad4fc586b42980c6e7b1
CRs-Fixed: 774533
2020-01-01 18:24:15 -08:00
Srinivas Dasari
ee454da9db qcacld-3.0: Disable NAN in stop_adapter
Framework might not disable NAN discovery explicitly in some
cases like driver unload. So disable NAN from stop_adapter to
terminate NDPs and NAN discovery properly.
Cleanup the API os_if_process_nan_disable_req() by using the
new API ucfg_disable_nan_discovery().

Change-Id: Ic2c834db44c42a44db902c93f67a887de1b6c2fb
CRs-Fixed: 2594318
2020-01-01 18:24:15 -08:00
Srinivas Dasari
baff7dc092 qcacld-3.0: Create an iface for NAN discovery in driver init
Currently, framework issues NAN commands on station interface.
But when connection happens, framework does interface down and
up on the station interface due to MAC randomization. This
terminates all of the NAN operations.
So NAN discovery needs a separate interface to avoid dependency
on the station interface. Create an interface "wifi-aware0"
of type NL80211_IFTYPE_NAN based on the firmware capability
and register to kernel.
Framework issues "IF UP" on the new NAN discovery interface when
it enables NAN. Driver shall create vdev and send VDEV_CREATE
command to firmware for the same. Framework shall issue all
NAN discovery commands on this new interface. Driver shall use
NAN vdev for these NAN operations.
Framework shall do "IF DOWN" once the NAN operations
are done(Ex: up on NAN disable).

Change-Id: Ifd1e1ab5ed64cd97edb00e793214edd2a2365274
CRs-Fixed: 2592020
2020-01-01 18:23:50 -08:00
Srinivas Dasari
d2ba26192b qcacld-3.0: Register dummy APIs to NAN ops
Kernel needs the below to create NAN interface from driver,
1. Register APIs to the NAN ops. Define dummy APIs as the APIs
   are not supported for the current driver design.
2. Define NAN supported bands and 2GHZ is mandatory.
3. Set the iftype NL80211_IFTYPE_NAN in the supported
   interface_modes.

Change-Id: I22db31840da2ba0e44b79077a8790b55f1151684
CRs-Fixed: 2592022
2020-01-01 18:23:26 -08:00
nshrivas
ee278c2918 Release 5.2.0.163H
Release 5.2.0.163H

Change-Id: I72706b8d74a17b53e22c28a96ae0171c438af11c
CRs-Fixed: 774533
2020-01-01 15:42:33 -08:00
Srinivas Dasari
4c50119c27 qcacld-3.0: Get the firmware capability NAN_VDEV_SUPPORT
Firmware advertises service capability bit NAN_VDEV_SUPPORT for
separate NAN vdev creation. This capability can be used to create
separate interface for NAN discovery and process corresponding
commands from userspace.

Change-Id: I45573c94ee2d966afc1e207c9eefc146ff43320f
CRs-Fixed: 2592019
2020-01-01 15:42:33 -08:00
nshrivas
95c0e0d020 Release 5.2.0.163G
Release 5.2.0.163G

Change-Id: I81ffcd7b7c3017e84bf21546ab13bda7a9028cef
CRs-Fixed: 774533
2019-12-31 04:04:37 -08:00
Jianmin Zhu
6cc8f4ac49 qcacld-3.0: WMI_ROAM_INVOKE_CMDID passed channel id to F/W
Testing HSP roaming by issue DRIVER FASTREASSOC
00:24:01:38:b1:a1 6 to trigger manually roaming,
host gave wrong channel number instead of channel freq in
WMI_ROAM_INVOKE_CMDID.

Change-Id: I50157f2aa3447ee7b57a4ddefabd41db0876a50c
CRs-Fixed: 2592946
2019-12-31 04:04:37 -08:00
nshrivas
acdd43b21c Release 5.2.0.163F
Release 5.2.0.163F

Change-Id: Ia8c13cb4a92acb42b2c6c23a0475d42c222b4692
CRs-Fixed: 774533
2019-12-31 01:23:46 -08:00
Kiran Kumar Lokere
e8ef2ca819 qcacld-3.0: Fix memory leak while populating the peer rate set
Fix the possible memory leak while populating the peer rate set

Change-Id: I9d16c0c4a9e6ead4b82c1112333e11aa6379c7de
CRs-Fixed: 2593986
2019-12-31 01:23:46 -08:00
nshrivas
f1a1f7a8bc Release 5.2.0.163E
Release 5.2.0.163E

Change-Id: I8a3f6d0a9208a45723e7f35ea5bb298b88745635
CRs-Fixed: 774533
2019-12-30 23:54:46 -08:00
Yu Ouyang
36b48bf65a qcacld-3.0: Support ROME SDIO
Function ol_txrx_hl_tdls_flag_reset will call function
ol_txrx_get_vdev_from_vdev_id, it will return NULL vdev
because ol_txrx_hl_tdls_flag_reset is called before
TAILQ_INSERT_TAIL(vdev).
So, move it after TAILQ_INSERT_TAIL(vdev).

Redefinition of 'pld_pcie_register_driver' when
CONFIG_PLD_PCIE_CNSS not defined. For Hastings WHUNT,
HIF_PCI is defined but CONFIG_PLD_PCIE_CNSS is not defined.
So, replace CONFIG_PLD_PCIE_CNSS by HIF_PCI and
CONFIG_PLD_PCIE_FW_SIM.

Change-Id: I05e58516efe6a9a445168a27df9e0cfc9de2e50c
CRs-Fixed: 2589802
2019-12-30 23:54:46 -08:00
nshrivas
b459977215 Release 5.2.0.163D
Release 5.2.0.163D

Change-Id: Id5707fffbae175bca2afbfe83f86cbe5db4511f2
CRs-Fixed: 774533
2019-12-30 22:30:42 -08:00
Alan Chen
e37ba25faa qcacld-3.0: Change wlan vdev log level from error error to debug
After removing alarms, suspend failures are still seen saying that
linux is failing to freeze tasks. This is because there is an error
log message that indicates that at the time of suspend, there was no
active wlan vdev since the DUT is also in airplane mode. Thus, change
the log message level from error to debug.

Change-Id: I7ef0f0d9cf6eab26e53f62a176fc771e862b8ccd
CRs-Fixed: 2594922
2019-12-30 22:30:42 -08:00
nshrivas
07d4ceae01 Release 5.2.0.163C
Release 5.2.0.163C

Change-Id: I77a9509058b522b5f448852d765a02a21ada3f7b
CRs-Fixed: 774533
2019-12-30 20:47:06 -08:00
bings
00c391fa56 qcacld-3.0: Add g_prefer_5g_scc_to_dbs to give 5g scc higher priority
Add g_prefer_5g_scc_to_dbs to give higher priority for 5g scc than dbs.
It is bitmap per enum policy_mgr_con_mode.
For example in GO+STA(5G) mode, when TPUT is onfigured as wlan system
preference option, If 5G SCC needs higher priority than dbs, set it as
0x8.

This can make GO have higher TPUT given that STA and ref AP mostly have
low speed at this time. This can improve user experience.

Change-Id: Ib8b4bfeef55d97277843df92d3b82aa7f3b9835d
CRs-Fixed: 2587068
2019-12-30 20:47:06 -08:00
nshrivas
43f892a3dd Release 5.2.0.163B
Release 5.2.0.163B

Change-Id: I3653130e662df9d5bd2b79f1620bb80dab23cae6
CRs-Fixed: 774533
2019-12-30 12:12:09 -08:00
Sourav Mohapatra
0dce16d5ed qcacld-3.0: Increase the number of supported interfaces
The max number of VDEV that the FW can support is 4. Due to memory
limitation, the host cannot send more than 4 vdev create to the firmware.
But for certain scenarios such as NAN, where there is a need to create two
extra interfaces apart from wlan0, wlan1 and p2p0 (e.g. aware_dataN
interfaces), there needs to be 5 vdevs created in the host.

To support 5 vdevs in host and in the same time only send 4 vdev
create to the firmware, allow an extra 5th interface to be created.
But do not allow all the 5 vdevs to be "up" simultaneously
(existing check in objmgr).

Change-Id: I5b677ae21043f7ee54194541576aa5125719d9b6
CRs-Fixed: 2472869
2019-12-30 12:12:09 -08:00
nshrivas
4527d72585 Release 5.2.0.163A
Release 5.2.0.163A

Change-Id: I628952101b7111a7b90c04be5af67dc4ca5f12ec
CRs-Fixed: 774533
2019-12-30 04:08:17 -08:00
Yu Ouyang
e2ed521f0c qcacld-3.0: Fix DSRC compile error
DSRC feature is enabled by SDIO card profile. But when debug SDIO
interface feautre, there are many DSRC module compile issue.

Change-Id: I4429f2a6e68b67140a72ad9634031f459ccda397
CRs-Fixed: 2590115
2019-12-30 04:08:17 -08:00