Commit Graph

18128 Commits

Author SHA1 Message Date
Liangwei Dong
f9a0512cae qcacld-3.0: Check SBS supported or not before set hw mode
If the request is SBS action and the HW doesn't support SBS,
return QDF_STATUS_E_NOSUPPORT. The caller will continue to
connect/start_ap instead of failure when
policy_mgr_current_connections_update return
QDF_STATUS_E_NOSUPPORT.

Change-Id: I158f90c13e2685697b82c874a247883f21f013cb
CRs-Fixed: 2602194
2020-01-14 19:42:12 -08:00
nshrivas
ffc0b8ea67 Release 5.2.0.164Z
Release 5.2.0.164Z

Change-Id: Ia71ccc75f29ad8c450dc39bd6e9062cb665f5379
CRs-Fixed: 774533
2020-01-14 13:02:05 -08:00
Vevek Venkatesan
451f996d6b qcacld-3.0: check if non-zero list count before deleting node
Add a check if list count is non-zero before deleting the node
from IPA tx descriptor list.

Change-Id: I9913c636107686755ffc5da2b585028a4be7a1e9
CRs-Fixed: 2601601
2020-01-14 13:02:04 -08:00
nshrivas
8532a288dc Release 5.2.0.164Y
Release 5.2.0.164Y

Change-Id: Ia856c70b7e94d9631289bd8f40a50c006366f797
CRs-Fixed: 774533
2020-01-14 04:05:47 -08:00
Jingxiang Ge
6064426ef7 qcacld-3.0: Fix sta_info_container freed without init
Issue happens when wlan0 is created then hostapd change
it from sta to ap mode before start wlan0 adapter,
then interface is deleted; as hdd_sta_info_init only happens
when start ap adapter, so there will be issue when destroy
sta_obj_lock as sta_obj_lock was never init.

Change:
    Move init sta_info to open adapter and init sta_info
    for all modes, so this will simply the logic and
    no need to consider too much about adapter state change.

Change-Id: I5e90ec120b2ec487507d9bda2f8c18c9a54d2a01
CRs-Fixed: 2554812
2020-01-14 04:05:47 -08:00
nshrivas
6dfe34582d Release 5.2.0.164X
Release 5.2.0.164X

Change-Id: I810cfb6950b08ef674d13f7a3ec515684ae74eb4
CRs-Fixed: 774533
2020-01-14 02:01:44 -08:00
Tiger Yu
0da98c48ee qcacld-3.0: Refine RX GRO flush when detach the vdev device
There might be race condition when doing RX GRO flush between dp_rx_thread
and vdev detach thread.

Only doing RX GRO flush in the dp_rx_thread context, and use the events to
sync with dp_rx_thread and vdev detach thread.

Change-Id: I2dbf92c2c11e950ca790dd7429c8bb235c239d0c
CRs-Fixed: 2601826
2020-01-14 02:01:44 -08:00
gaurank kathpalia
b3b2194db6 qcacld-3.0: Check for valid BW in monitor mode
Check for invalid BW if received as part of
monitor mode vdev start command and reject if
invalid.

Change-Id: I1dfd7936af354622c52295cfba16941b96dfe649
CRs-Fixed: 2600906
2020-01-14 02:01:30 -08:00
nshrivas
ed1a697bf4 Release 5.2.0.164W
Release 5.2.0.164W

Change-Id: I01beafd7581700b04e98989c99ce8a7d2705ffd3
CRs-Fixed: 774533
2020-01-13 23:17:50 -08:00
Kai Liu
a664146e1d qcacld-3.0: skip channel switch if best channel is in PCL list
Currently during ACS process, if best channel after weight sorting
is not in PCL list, then further check if there is a channel in PCL
has some weight, if there is, then switch to this new channel.

Skip above process if best channel is already in PCL list.

Change-Id: I5bfb6d18c531e6b7b4ff0b8b2bb2bd47388fed0c
CRs-Fixed: 2589033
2020-01-13 23:17:50 -08:00
nshrivas
9f964fbed7 Release 5.2.0.164V
Release 5.2.0.164V

Change-Id: I1f5026990c3e476ac7ec3154f9e553fe418ee396
CRs-Fixed: 774533
2020-01-13 01:02:43 -08:00
hqu
e32e52a575 qcacld-3.0: Intersect he_capable from SAP and ref STA
When SAP doesn't support 11ax phymode, ref STA which support
11ax phymode connect to SAP, this will result in firmware crash
due to WMI_PEER_ASSOC_CMDID set peer_flags with WMI_PEER_HE and
peer_phymode set with SAP session phymode which doesn't support
HE capability.

Fix is to intersect he_capable from SAP and ref STA.

Change-Id: I9f63f5474db03e96a404ac86ff7929e8ebabc9f3
CRs-Fixed: 2599957
2020-01-12 20:27:05 -08:00
nshrivas
f6aeae92e0 Release 5.2.0.164U
Release 5.2.0.164U

Change-Id: Ie3536f6b313479cd0db78c33f18b09e4d0285c3f
CRs-Fixed: 774533
2020-01-12 18:57:55 -08:00
Liangwei Dong
c1956bd4cb qcacld-3.0: Handle 6Ghz channel switch
Always use ECSA for STA/SAP channel switch between 6GHz band and
other 2Ghz or 5Ghz band since operating class is required to identify
an unique channel together with channel number in IE.
Change channel switch APIs to use frequency.

Change-Id: Ie655ae88b5223a3213146cb2684a70f91cdd5b04
CRs-Fixed: 2600136
2020-01-12 18:57:55 -08:00
nshrivas
6fbf71acd3 Release 5.2.0.164T
Release 5.2.0.164T

Change-Id: Iba8b483e598430bb36d5a4728232e274870ea943
CRs-Fixed: 774533
2020-01-12 06:23:53 -08:00
Sravan Goud
dd78eef93a qcacld-3.0: Reset ipa pending tx timer at pipes enable
In case of STA + SAP ipa pending tx timer is started when last
SAP client disconnects. Again if client connects back timer is not
stopped at pipes enable. Later some time if suspend kicks in and
during bus suspend if there are no ipa tx pending ipa pipes are
disabled. This leads to issues such as data stall, invalid IPA
doorbell register access. So reset the timer during ipa enable pipes.

Change-Id: Id6034596f52f98c793674c9d9e5f7918c5c3d455
CRs-Fixed: 2598559
2020-01-12 06:23:53 -08:00
Sravan Goud
96509f80bb qcacld-3.0: Provide vendor extended stats from host
Currently in lithium FW is not always in datapath. As a result
can not provide all the wlan vendor extended stats. So as part
of this host provides some of the extended stats.

Change-Id: Ie73b1e823a54385c5b97e1844a93d4ecc38d9d3c
CRs-Fixed: 2539662
2020-01-12 06:23:38 -08:00
nshrivas
7a4559892f Release 5.2.0.164S
Release 5.2.0.164S

Change-Id: I5f9dc1a2a1c2a065b941ddc43f9d53053a531128
CRs-Fixed: 774533
2020-01-11 17:53:06 -08:00
sheenam monga
1fa0514eb7 qcacld-3.0: Fix sta_ds use after free
lim_is_pkt_candidate_for_drop() uses sta_ds to update last assoc
and deauth/disasocc received time without taking any lock for
sta_ds. deletion of sta_ds in pe_delete_session before accessing
sta_ds in dph_lookup_hash_entry can lead lead to Assert.
Similar is the case with sta_ds->last_assoc_received_time and
sta_ds->last_disassoc_deauth_received_time.

Fix is to use peer_priv instead of sta_ds and update
last_assoc_received_time and last_disassoc_deauth_received_time of
peer_mlme_priv_obj. In this case refcount gets increased for valid
peer and peer won't be deleted until lim_is_pkt_candidate_for_drop
releases the ref count of the peer.

Change-Id: I9daf31f9dd7b509eaf38a93078bb7418605b1c74
CRs-Fixed: 2598841
2020-01-11 17:53:06 -08:00
nshrivas
36c9da3135 Release 5.2.0.164R
Release 5.2.0.164R

Change-Id: Ic7f89d077a05428d086adfda2aef8e2098306626
CRs-Fixed: 774533
2020-01-11 13:56:06 -08:00
Jianmin Zhu
7ff7fe7d37 qcacld-3.0: Some AP are missed in Beacon Report response
In radio measurement beacon report frame,  The BSSID field
indicates the BSSID of the BSS(s) for which a beacon report is
requested. When requesting beacon reports for all BSSs on the
channel, the BSSID field contains the wildcard BSSID; otherwise
the BSSID field contains a specific BSSID for a single BSS.

If BSSID is wildcard BSSID, bssid num should be 0 when use fill
scan result filter, or filtered scan result is always empty
since wildcard BSSID can't match any normal bssid.

Change-Id: Ia172ac8160d0c38ce4c875fc29458c6c8f26c804
CRs-Fixed: 2599634
2020-01-11 13:56:06 -08:00
nshrivas
010f447523 Release 5.2.0.164Q
Release 5.2.0.164Q

Change-Id: If001f21e4bbd10516a45a2e0b89e1fa7f5d59884
CRs-Fixed: 774533
2020-01-11 11:12:30 -08:00
bings
b188056965 qcacld-3.0: Don't disable dfs phyerr offload when no sap/go in DFS ch
According to FW, DFS phyerr offload should be enabled before vdev start,
otherwise FW can't start DFS phyerr offload function.

Do not send DFS phyerr offload disable wmi command before vdev stop, and
FW will handle all the necessary cleanup in vdev stop wmi command.

Without DFS phyerr offload disable wmi command, DFS phyerr offload is
enabled before vdev start.

Change-Id: Id6275e9716afb34316cf46b69dd0b4f82b73ac5d
CRs-Fixed: 2598263
2020-01-11 11:12:29 -08:00
nshrivas
ea97347bfd Release 5.2.0.164P
Release 5.2.0.164P

Change-Id: I4db3f57c3b6b06f0252431971c5a938ce9a3da29
CRs-Fixed: 774533
2020-01-11 01:50:08 -08:00
Kiran Kumar Lokere
4dd5c4f06b qcacld-3.0: Set the default SW retry limit value to 16
Set the default software retry limit value to 16 and fix the typo
in configuring the non aggregation software retry limit.

Change-Id: Ia6ef7cc39f47ef91c2c338e48561e0275445750f
CRs-Fixed: 2599467
2020-01-11 01:50:08 -08:00
nshrivas
0de5a1e7dd Release 5.2.0.164O
Release 5.2.0.164O

Change-Id: I3dbd37733c23fe62f99554a2ddffcd54ccb336d3
CRs-Fixed: 774533
2020-01-10 21:33:06 -08:00
Arun Kumar Khandavalli
0cc6233157 qcacld-3.0: Add flush callback for umac stop
During the scheduler_stop it tries to flush all the pending messages
in the queue, during the same the flush callbacks of all the pending
messages are invoked. If there is no flush callback for
SYS_MSG_ID_UMAC_STOP, it will free the bodyptr of the message which
contains the global variable g_stop_evt, which can result in invalid
access in the other thread.

Add a dummy flush callback message for the sys_stop message to
avoid the invalid access.

Change-Id: I46ca4240d787dce5b21cc2f99ced66a4c01b737c
CRs-Fixed: 2537773
2020-01-10 21:33:05 -08:00
nshrivas
82fc5bb295 Release 5.2.0.164N
Release 5.2.0.164N

Change-Id: Ia777e8e04e238d75527fe730cadcc9048bdc7ce6
CRs-Fixed: 774533
2020-01-10 04:07:57 -08:00
bings
059c4a06c2 qcacld-3.0: Configure TDLS off channel mode when band switches
Disable TDLS off channel if 2g or 5g is disabled, restore TDLS off
channel configure when all bands are enabled.

Change-Id: Iabfdcdbf84e4a6313ad04e381b70e21c871d66c2
CRs-Fixed: 2595303
2020-01-10 04:07:57 -08:00
Alok Kumar
a71b36fc0a qcacld-3.0: Register callbacks for packet capture
Add callbacks to register pktcapture Rx Ops and
pktcapture adapter context in pdev for packet capture
mode.

Change-Id: Iefbb24c364dfb460788f7512dee1a6ec4d2b29c1
CRs-Fixed: 2528553
2020-01-10 04:07:42 -08:00
Alok Kumar
5730524bdc qcacld-3.0: Register network interface for pktcapture mode
For packet capture mode, register an interface through
hdd_add_virtual_intf and delete using hdd_del_virtual_intf.
During register, remove the P2P interface and add it back
during deregister.

Change-Id: I79d933c96591cd462e27eda73f5aed2cc7cad8af
CRs-Fixed: 2528549
2020-01-10 04:07:28 -08:00
nshrivas
025ea586c8 Release 5.2.0.164M
Release 5.2.0.164M

Change-Id: Ibb41aa3383c5799ce622797f3974c7263b375876
CRs-Fixed: 774533
2020-01-10 02:46:55 -08:00
Alok Kumar
f1d581361d qcacld-3.0: Open a mon thread for packet capture mode
Create a mon thread to process the packets for pktcapture
mode only if packet capture mode is enabled.

Change-Id: I64e3687d08acd0d27019ed9e11b5b92b13fcd878
CRs-Fixed: 2528545
2020-01-10 02:46:55 -08:00
nshrivas
9182d59ad6 Release 5.2.0.164L
Release 5.2.0.164L

Change-Id: Ie157ed0b224696652d369c15c055fc673ce7ecc1
CRs-Fixed: 774533
2020-01-09 20:22:23 -08:00
Yue Ma
e63f42fb57 qcacld-3.0: Remove deprecated code in MAC layer
Remove deprecated code because of CRYPTO_SET_KEY_CONVERGED cleanup
in MAC layer.

Change-Id: I65bc90b457cdd642d64d6ab0e6829856ee93e472
CRs-fixed: 2593528
2020-01-09 20:22:23 -08:00
Yue Ma
34321601a6 qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for WMA 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 WMA layer.

Change-Id: If70fc5cb01f2a0123030c92410e126ce8078e1c6
CRs-fixed: 2593526
2020-01-09 20:21:57 -08:00
Yue Ma
e5a28495ab qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for MAC 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 MAC layer.

Change-Id: I34fb7a6a67dd6dba3fa69c98ef10a1bd51383e36
CRs-fixed: 2593525
2020-01-09 20:21:42 -08:00
nshrivas
85205b41d2 Release 5.2.0.164K
Release 5.2.0.164K

Change-Id: I572efae2b0da23e9e4ca11ad7dc414bc6769e2d3
CRs-Fixed: 774533
2020-01-08 23:38:43 -08:00
Alok Kumar
45b9e9c730 qcacld-3.0: Add CDS API to update parameter for pkt capture mode
Update packet capture mode param in the HDD context
after reading the INI parameter.

Change-Id: I3ea88e376f1ad8ebc96715d08395331470c23d4a
CRs-Fixed: 2528536
2020-01-08 23:38:43 -08:00
nshrivas
6bf58bebf1 Release 5.2.0.164J
Release 5.2.0.164J

Change-Id: I6199a24f63f24414c2a5baf8383bd097baf4ff53
CRs-Fixed: 774533
2020-01-08 21:34:58 -08:00
Wu Gao
6f585aba54 qcacld-3.0: Don't indicate P2P client deletion event
DUT formed P2P connection with second device and as P2P GO, trigger
assert in target, supplicant get P2P client deletion event, and then
DUT remove P2P GO and change interface type from P2P GO to P2P device
but failed since recovery in progress. This change avoid to indicate
P2P client deletion event to up layer since host will sent P2P GO
stopping event to up layer.

Change-Id: I2221332d062f1e5f74846187ce9b478a11b8eb9f
CRs-Fixed: 2589866
2020-01-08 21:34:57 -08:00
nshrivas
9f90d60fa2 Release 5.2.0.164I
Release 5.2.0.164I

Change-Id: I954230e341909fc1a90c2b414dc7cb1d64bd1406
CRs-Fixed: 774533
2020-01-08 20:10:31 -08:00
Amruta Kulkarni
e673511908 qcacld-3.0: Change info/err prints to debug in roaming path
In roaming path, while processing roam synch indication info/err
prints at the driver adds up latency to the total roaming
transition time and the KPI for maximum transition time exceeds
the expected 100ms. The printk buffer is protected by a global
raw spinlock for readers and writers. This restricts the contexts that
are allowed to access the buffer. So large latencies exists when
printing to kmsg done with QDF trace levels WARN, INFO, ERROR.

Change the redundant/less significant info, error, warn level
prints in roaming path to debug level.

Change-Id: I8e2a03ddef8f3cd680263939f6e0275b8703e681
CRs-Fixed: 2597624
2020-01-08 20:10:31 -08:00
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