Commit Graph

18085 Commits

Author SHA1 Message Date
nshrivas
850279a6e9 Release 5.2.0.164H
Release 5.2.0.164H

Change-Id: I925f5763bb17d8320a7b420046c7159b6a210fe8
CRs-Fixed: 774533
2020-01-08 15:46:44 -08:00
Jianmin Zhu
e986417f5a qcacld-3.0: Unknown symbol wlan_set_vdev_crypto_prarams_from_ie
Fix insmod Genoa wlan module failure for:
wlan: Unknown symbol wlan_set_vdev_crypto_prarams_from_ie.

wlan_set_vdev_crypto_prarams_from_ie is defined in
wlan_crypto_global_api.c

UMAC_CRYPTO_OBJS := $(UMAC_CRYPTO_CORE_DIR)/
wlan_crypto_global_api.o \

ifeq ($(CONFIG_CRYPTO_COMPONENT), y)
OBJS +=		$(UMAC_CRYPTO_OBJS)
endif

The crypto component is always required after convergence
between WIN/MCC, hence just unconditonally set
CONFIG_CRYPTO_COMPONENT := y in Kbuild.
Remove CONFIG_CRYPTO_COMPONENT := y in defconfig of each wifi
chip: default_defconfig, qca6174_defconfig, qca6390_defconfig.

Change-Id: Id0abe80673d59d9274401f1304b5ce1d906624eb
CRs-Fixed: 2596124
2020-01-08 15:46:44 -08:00
Bapiraju Alla
80334ca5d6 qcacld-3.0: Validate add del tx pattern configuration
Currently there is no information maintained in the driver regarding the
tx patterns configured, this can result in sending the commands to
firmware without a proper validation i.e. sending the delete pattern
without validating.

To resolve this issue, maintain the add pattern history and validate
whether when the del pattern is issued.

Change-Id: Ie097a36fe46640ddfd539c481491025512571300
CRs-Fixed: 2596705
2020-01-08 15:46:18 -08:00
nshrivas
fd415a1369 Release 5.2.0.164G
Release 5.2.0.164G

Change-Id: Ifcd4bcf6990e7546fb5bb5ee790bfafe47eb04f8
CRs-Fixed: 774533
2020-01-08 11:30:50 -08:00
Yue Ma
b49b7fedc5 qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for SME layer
CRYPTO_SET_KEY_CONVERGED is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag in SME layer.

Change-Id: Iff9ba19887caaa39f43cb58d519a14cf6e759d59
CRs-fixed: 2593523
2020-01-08 11:30:50 -08:00
Yue Ma
cc35052654 qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for HDD layer
CRYPTO_SET_KEY_CONVERGED is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag in HDD layer
and SAP module.

Change-Id: Ic92e44e53c63ba2752907ace3ffc0f55d18470e2
CRs-fixed: 2593520
2020-01-08 11:30:29 -08:00
Yue Ma
d03d10bcd1 qcacld-3.0: Cleanup WLAN_CONV_CRYPTO_IE_SUPPORT flag
WLAN_CONV_CRYPTO_IE_SUPPORT is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag.

Change-Id: Ide9fa97a9eb0b5c197c762205f386651efc51e33
CRs-fixed: 2592096
2020-01-08 11:30:05 -08:00
Yue Ma
a545a92201 qcacld-3.0: Enable CONFIG_CRYPTO_COMPONENT for Genoa
CONFIG_CRYPTO_COMPONENT is supposed to be enabled for all devices,
so enable it for Genoa as well.

Change-Id: Icf37a9052c329e362460342fe44d8fe70c5bb1ed
CRs-fixed: 2597797
2020-01-08 11:29:54 -08:00
nshrivas
00ab5f4399 Release 5.2.0.164F
Release 5.2.0.164F

Change-Id: Id8efbd35842c4e1f288b14087a183a8ea1e0a9f9
CRs-Fixed: 774533
2020-01-08 07:50:03 -08:00
Alan Chen
8dd79fb92c qcacld-3.0: Release the PDEV ref count by adding a new goto label
The function hdd_rx_mic_error_ind() is not releasing the pdev reference,
causing a pdev object manager leak for the WMI command WLAN_MLME_SB_ID.
To solve this, add a new goto label release_ref_and_return that releases
the pdev ref count before exiting the function.

Change-Id: Ic798cf5064403120058e01099bb846397e887951
CRs-Fixed: 2598665
2020-01-08 07:50:02 -08:00
Pragaspathi Thilagaraj
9cece7211d qcacld-3.0: Send PER config command before WMI_ROAM_SCAN_MODE command
The host driver sends WMI_ROAM_PER_CONFIG_CMDID command after
WMI_ROAM_SCAN_MODE as part of RSO start/update. But the
expectation from firmware is that host should send this after
WMI_VDEV_PARAM_ROAM_FW_OFFLOAD but before WMI_ROAM_SCAN_MODE.
Also the WMI_VDEV_PARAM_ROAM_FW_OFFLOAD is sent after set key
response from csr->lim->wma->wmi. But the
WMI_ROAM_PER_CONFIG_CMDID is directly posted wma (csr->wma->wmi)
which can cause this command to go before the
WMI_VDEV_PARAM_ROAM_FW_OFFLOAD is sent to firmware.
One more instance where the WMI_ROAM_PER_CONFIG_CMDID can go
before vdev roam fw offload init is if the userspace sends
blacklist update command before offload init happens.

So route the WMI_ROAM_PER_CONFIG_CMDID via lim before posting
it to wma and add changes in rso update config to block the
blacklist command being sent in ROAM_DEINIT state.
Also Call csr_roam_offload_per_scan before csr_roam_send_rso_cmd
in csr_roam_offload_scan to send WMI_ROAM_PER_CONFIG_CMDID before
WMI_ROAM_SCAN_MODE.

Change-Id: I2600cfeafcc3e3ebfac6694c1f2cdb5df0366411
CRs-Fixed: 2596257
2020-01-08 07:49:45 -08:00
nshrivas
161934821f Release 5.2.0.164E
Release 5.2.0.164E

Change-Id: I6f7d1345e0e3913136afb941973c8857da20f594
CRs-Fixed: 774533
2020-01-08 06:25:47 -08:00
Pragaspathi Thilagaraj
a9a5f31448 qcacld-3.0: Validate number of APs before filling diag event
When WMI_ROAM_STATS_EVENTID is received, the driver copies the
roam scan candidate AP data from the event to destination
buffer. This num_ap count is used directly to fill the diag
buffer. When the number of candidates sent by the firmware
is greater than MAX_ROAM_CANDIDATE_AP(8), corruption of the
destination scan->ap buffer occurs.

Validate the number of APs before filling the diag event.

Change-Id: I5258bc0d4ce0108cbc5195aa464afd498ae9fbf9
CRs-Fixed: 2598513
2020-01-08 06:25:47 -08:00
nshrivas
b1e41a7a08 Release 5.2.0.164D
Release 5.2.0.164D

Change-Id: I6ee08c297eb80cd0a9e97e936a99c6e7fd16d041
CRs-Fixed: 774533
2020-01-08 04:52:46 -08:00
Tiger Yu
6bc77dc9c3 qcacld-3.0: Do RX GRO flush when detach the vdev device
If there are still RX packets pending in the napi gro_hash list, do RX GRO
flush after flushing the RX thread pending packets when detach the vdev to
avoid net_device might be invalid later which has been stored already in
the pending skb.

Change-Id: Iff0a5cf49c87b91b8cae3dbcb541d1cf0bc480a6
CRs-Fixed: 2598149
2020-01-08 04:52:46 -08:00
Pankaj Singh
dc48e39e8d qcacld-3.0: Fix uapsd auto trigger command failing after addts
Modify sme_enable_sta_ps_check() to take power save mode
parameter as new argument.During certification WMMAC test
cases failed due to recent change of saving user power save
configuration. The uapsd auto trigger cmd could not be send
due to user power save configuration.

Apply the user power save configuration in conjunction with
power save mode.

Change-Id: I79bdfc3f4d168df23415bfb3418913de7a45886a
CRs-Fixed: 2592560
2020-01-08 04:52:24 -08:00
nshrivas
eb63c8916b Release 5.2.0.164C
Release 5.2.0.164C

Change-Id: I139d6dc10b0a9ef08a74ef947029d57acdcff202
CRs-Fixed: 774533
2020-01-08 02:03:40 -08:00
gaurank kathpalia
570f0aff4f qcacld-3.0: Fix issue for SMM before vdev start on 2.4ghz
Scenario:-
1. Turn on SAP and STA on 2.4ghz and 5ghz
2. Turn off SAP
3. Turn off STA
4. Turn on SAP on 2.4ghz

Issue:-
In the start ap function, the driver calls
the stop opportunistic timer and calls the handler
to goto SMM mode.
After this, the SAP checks whether it requires the
DBS or not and then requests for DBS also, but since
the driver is already in DBS mode this command gets
rejected, so there would be 2 commands in the serialization
queue which would be SMM and start AP, which would lead to
a crash as SMM is sent before a connection on 2.4ghz as
Hastings is not capable to start a vdev in 2.4ghz without
DBS mode.

Fix:-
1.Not allow SMM if the current connection requires DBS
2. Check the HW capabilty in the active command only and
not before that to protect the reliability of hw mode.

Change-Id: I1c0c05ea05ba14d1556af2612daa3de2ffcba367
CRs-Fixed: 2587508
2020-01-08 02:03:40 -08:00
nshrivas
29ffb45ec5 Release 5.2.0.164B
Release 5.2.0.164B

Change-Id: I8e3552b496467e05d07fbbf64ba9aebc655e669a
CRs-Fixed: 774533
2020-01-07 19:20:58 -08:00
Jianmin Zhu
e6b80253bc qcacld-3.0: Permit 3 SAP channel switch
During mdm SAP+SAP+SAP case, if 5G band is disabled for modem
N79 band, need all 5G SAP switch to 2G to force scc.
when 5G band is re-enabled, all 5G SAP can switch back to 5G.

Change-Id: Ief7d7c85a7881885bd95c8af6be8d4e428d07041
CRs-Fixed: 2597602
2020-01-07 19:20:58 -08:00
nshrivas
27b5d6cfa7 Release 5.2.0.164A
Release 5.2.0.164A

Change-Id: I35432ac2765b487db2b801c3c855961be55c8e76
CRs-Fixed: 774533
2020-01-07 04:38:19 -08:00
Karthik Kantamneni
af0b9ec3c8 qcacld-3.0: Enable Bus Bandwidth feature in WHUNT config
Enable DP Bus Bandwidth feature in WHUNT config, this helps to
execute and detect issues in Bus Bandwidth feature code path.

Change-Id: Id4376236b77661519667c40c427c50af436a9dc2
CRs-Fixed: 2597300
2020-01-07 04:38:19 -08:00
nshrivas
cea60095b8 Release 5.2.0.164
Release 5.2.0.164

Change-Id: I066e1f141b119fa51f41813c152bb01abdf63ab2
CRs-Fixed: 774533
2020-01-07 00:41:09 -08:00
Sandeep Puligilla
511c6e2402 qcacld-3.0: Add ini support to control 6G SAP fils disc
6Ghz SAP needs to send either a probe response or fils
discovery at every 20ms.

Add a new ini to configure the probe response or
fils discovery frame.

enable_6g_sap_fils_discovery=1 sends fils discovery frame
at every 20ms.
enable_6g_sap_fils_discovery=0 sends probe response frame
at every 20ms

Change-Id: I6c5fb339135cf11be071d73970ea3704441380eb
CRs-Fixed: 2586524
2020-01-07 00:41:09 -08:00
nshrivas
4558769a68 Release 5.2.0.163Z
Release 5.2.0.163Z

Change-Id: I6ce57d191dac6664301a79592cd36a632974b3d1
CRs-Fixed: 774533
2020-01-06 20:35:43 -08:00
Pragaspathi Thilagaraj
71a1fa4ca0 qcacld-3.0: Add diag log support to print roaming related stats
When roaming is complete, firmware sends WMI_ROAM_STATS_EVENTID
to host driver. This event has details regarding the roam
trigger reason, roam scan and candidate details, roaming result
and 11kv info sent after roaming to AP. Parse this event and
fill the below diag log report to print this in logcat:
LOG_WLAN_AUTH_ASSOC_TX_RX_INFO
LOG_WLAN_ROAM_TRIGGER_INFO
LOG_WLAN_ROAM_SCAN_INFO
LOG_WLAN_ROAM_RESULT_INFO
LOG_WLAN_RRM_TX_RX_INFO

Change-Id: Ie09dc8ad5b236d0925327dba73a3f2e73a80109a
CRs-Fixed: 2597057
2020-01-06 20:35:43 -08:00
nshrivas
23719fc6db Release 5.2.0.163Y
Release 5.2.0.163Y

Change-Id: I5ff80bbf9be032830cc15d8ff3e1ea81514e5d4c
CRs-Fixed: 774533
2020-01-06 12:18:50 -08:00
Vevek Venkatesan
f856395465 qcacld-3.0: Enable SMMU S1 TRANSLATION for BENGAL
Enable SMMU S1 TRANSLATION flag for BENGAL.

Change-Id: I3eee86a7e7916146906e7cbda9b80fed532aa2aa
CRs-Fixed: 2595375
2020-01-06 12:18:50 -08:00
nshrivas
73b13259c4 Release 5.2.0.163X
Release 5.2.0.163X

Change-Id: Ie1da15f121231bfb7ef759ad0b52f4d1b1af5734
CRs-Fixed: 774533
2020-01-06 10:54:49 -08:00
Jianmin Zhu
62de00823d qcacld-3.0: Fix assert in sme_store_nss_chains_cfg
Need check whether vdev is NULL when pass to
sme_store_nss_chains_cfg.

Change-Id: I1bfa62c8a898ad28e7771e27583e5775d515924a
CRs-Fixed: 2597475
2020-01-06 10:54:49 -08:00
bings
bd56706c77 qcacld-3.0: Do not configure TXBF to FW if TXBF is disabled
If TXBF is disabled, do not configure TXBF to FW. Otherwise NDPA
packets are sent by SAP from air sniffer, which is incorrect.

Do not configure TXBF to FW through WMI_VDEV_PARAM_SET_HEMU_MODE
if TXBF is disabled for HE.

Change-Id: Ib1f9366ce18be8dadfdb46663f6606dd08f0e033
CRs-Fixed: 2596373
2020-01-06 10:54:34 -08:00
nshrivas
709a1ccf6a Release 5.2.0.163W
Release 5.2.0.163W

Change-Id: I3398c215b9e36925c897c91bb6f9835fa75a8963
CRs-Fixed: 774533
2020-01-06 04:28:48 -08:00
Will Huang
03d72d75b0 qcacld-3.0: Strip HE add ie when wep enabled
Certification test case HE-4.2.2 enable both 11ax and wep for sap, we
start sap as 11g mode as expected, but there is additional IEs from
hostapd which has HE cap/op IEs fails the case.

Strip these HE IEs from additional IE configure from hostapd when HE
has been decided to disable when sap start in host driver.

Change-Id: If1001255cc6528ab1a01d72d13f8376815aa5ebc
CRs-Fixed: 2594834
2020-01-06 04:28:47 -08:00
nshrivas
3dec70ff98 Release 5.2.0.163V
Release 5.2.0.163V

Change-Id: Icfd9c6e5ac214e2aefc2ddc88da5ab4dbfec83e7
CRs-Fixed: 774533
2020-01-04 02:15:04 -08:00
Yue Ma
cc2e88a2f9 qcacld-3.0: Cleanup WLAN_CONV_CRYPTO_SUPPORTED flag
WLAN_CONV_CRYPTO_SUPPORTED is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag.

Change-Id: I6626a7c9d2ab46cf35ed3593b72c074100954ab8
CRs-fixed: 2593529
2020-01-04 02:15:04 -08:00
nshrivas
52aa85412f Release 5.2.0.163U
Release 5.2.0.163U

Change-Id: I48beb744ebee5af608ef5362c3de6cbdb040a2cb
CRs-Fixed: 774533
2020-01-03 18:17:17 -08:00
Jianmin Zhu
57692441c8 qcacld-3.0: LFR2 failed for deleting wrong pe session
During LFR2, new pe session is created before old pe session
deleted, the 2 pe sessions have different pe session id, but
same vdev id.
After change-Id: Ib2e7c72e0636765341792a79aa12968a84ed4879,
When delete old pe session DPH Entry,  get pe session by vdev
id instead of pe session id, since both new and old session have
same vdev id, so there is 50% chance to get wrong pe session.
then DPH Entry for STA 1 missing issue happens, then no reassoc
happens.

Fix: When delete old pe session DPH Entry,  get pe session by
both vdev id and PE mlm state: eLIM_MLM_WT_DEL_BSS_RSP_STATE.

Change-Id: I207a4291cd26175ea7013fb2f2a0c27865304db2
CRs-Fixed: 2593194
2020-01-03 18:17:16 -08:00
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