Commit Graph

20019 Commits

Author SHA1 Message Date
Srinivas Girigowda
3fab023fe0 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_power.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_power.c

Change-Id: I49c449af9cfba429a9709834b5b83db8a84a93fa
CRs-Fixed: 2712788
2020-06-19 19:44:57 -07:00
Srinivas Girigowda
2e20c75e42 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_main.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_main.c

Change-Id: Ia144748a2b6fc9e82cf9896f81586cd9d7147e09
CRs-Fixed: 2712788
2020-06-19 19:44:53 -07:00
Srinivas Girigowda
13d07aa54b qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_he.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_he.c

Change-Id: Ia448ade9d191ee5fc3db9a9c9a2cedd8f4f39757
CRs-Fixed: 2712788
2020-06-19 19:44:50 -07:00
Srinivas Girigowda
3827655105 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_features.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_features.c

Change-Id: I4482617c1bd564357d90df60cc858b3c2d270ef4
CRs-Fixed: 2712788
2020-06-19 19:44:46 -07:00
Srinivas Girigowda
17baebfba4 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_dev_if.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_dev_if.c

Change-Id: I3c7ac380e85e697d53f2196bb8a5d4da612fdae7
CRs-Fixed: 2712788
2020-06-19 19:44:43 -07:00
Srinivas Girigowda
45bb1adecf qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_data.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_data.c

Change-Id: Ia54e16b313dddae76d313b6abe0d579f9912bd11
CRs-Fixed: 2712788
2020-06-19 19:44:39 -07:00
Srinivas Girigowda
490a4e8704 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_scan_roam.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_scan_roam.c

Change-Id: I243ebfa3941738ebc251858123e90687b9a77c86
CRs-Fixed: 2712788
2020-06-19 19:44:34 -07:00
nshrivas
e409dc39ed Release 5.2.0.190U
Release 5.2.0.190U

Change-Id: I4974544d44874c95daaba6fd6156374b6a6aa00b
CRs-Fixed: 774533
2020-06-18 23:21:56 -07:00
gaurank kathpalia
015b76d0c7 qcacld-3.0: Reset crypto params on open mode connect request
In case of open mode the crypto params are not updated and thus
older params values are maintained. This can lead to failure
in open mode connect.

Thus Reset crypto params on open mode connect request

Change-Id: Ia986f1b0d7b29410d32090be3e9bfb9db96c6c11
CRs-Fixed: 2713346
2020-06-18 23:21:56 -07:00
Jianmin Zhu
61409803d7 qcacld-3.0: Avoid Rome mgmt nbuf double unmap during SSR
Rome supports mgmt Tx via HTT interface, not via WMI.

When mgmt frame is sent, 2 tx desc is allocated:
mgmt_txrx_desc is allocated in wlan_mgmt_txrx_mgmt_frame_tx,
ol_tx_desc is allocated in ol_txrx_mgmt_send_ext.
They point to same net buffer.
net buffer is mapped in htt_tx_desc_init.

When SSR during Rome STA connected, deauth frame is sent,
but no tx complete since firmware hung already.
Pending mgmt frames are unmapped and freed when destroy vdev.

hdd_reset_all_adapters->hdd_stop_adapter->hdd_vdev_destroy
->wma_handle_vdev_detach->wlan_mgmt_txrx_vdev_drain
->wma_mgmt_frame_fill_peer_cb
->mgmt_txrx_tx_completion_handler.

Don't need unmap and free net buffer of mgmt frames again during
data path clean up, just free ol_tx_desc.
hdd_wlan_stop_modules->cds_post_disable->cdp_pdev_pre_detach
->ol_txrx_pdev_pre_detach->ol_tx_free_descs_inuse.

Change-Id: I2fc658e833cf013bf7048c6bec90d9b247566444
CRs-Fixed: 2694854
2020-06-18 23:21:52 -07:00
nshrivas
883685660d Release 5.2.0.190T
Release 5.2.0.190T

Change-Id: I1470cf5b1c7be1e58e240235caf5c8ee0d1341af
CRs-Fixed: 774533
2020-06-18 21:19:14 -07:00
Manikanta Pubbisetty
4b9a9fa22f qcacld-3.0: move log out of the lock region
Currently, if the time spent in a spin_lock region exceeds
a certain threshold, a system crash will be triggered.

There are chances that a log within a spin_lock region would
result in a crash if the time taken to log the buffer exceeds
the threshold which triggers the crash.

Avoid this by moving the log out of the lock region.

Change-Id: Ic51556723033e9553443250b9cb4cfee2b402309
CRs-Fixed: 2713234
2020-06-18 21:19:14 -07:00
nshrivas
9dfbc354db Release 5.2.0.190S
Release 5.2.0.190S

Change-Id: I0683a51c8345afc9096110291bec2f2ef4bcba70
CRs-Fixed: 774533
2020-06-18 17:21:50 -07:00
Utkarsh Bhatnagar
d7a34e4ce9 qcacld-3.0: Release lock in error condition
Release lock when psoc_mc_stats is NULL in
ucfg_mc_cp_stats_inc_wake_lock_stats API.

Change-Id: Ibf316d848b2e1d0a4189eb4cebac27922ce30dcd
CRs-Fixed: 2702093
2020-06-18 17:21:49 -07:00
Aditya Kodukula
007291fb8d qcacld-3.0: Add Kernel Version check for cfg80211_update_owe_info_event
As part of GKI kernel whitelisting effort, add kernel version check
for cfg80211_update_owe_info_event.

Change-Id: I06e4f42bbe6d032a816c61eea2e4cc415ebbdff4
CRs-Fixed: 2700291
2020-06-18 17:21:35 -07:00
nshrivas
c1444197eb Release 5.2.0.190R
Release 5.2.0.190R

Change-Id: Ic8e0f2d9fa8a422b9c20fe5ded3d85e175343c86
CRs-Fixed: 774533
2020-06-18 11:54:48 -07:00
Bapiraju Alla
d97145c971 qcacld-3.0: Add support for cfg80211 op get_channel
Add support for get_channel callback in cfg80211_ops

Change-Id: I4d7f91bb1f6edf4a9f6d42e4efa470a012231186
CRs-Fixed: 2702329
2020-06-18 11:54:48 -07:00
Nirav Shah
10c77d2379 qcacld-3.0: Check for max allowed STA vdevs in change interface API
In FW CFG_TGT_DEFAULT_MAX_STA_VDEVS considers total no of
STA and P2P-CLI vdevs. Check CFG_TGT_DEFAULT_MAX_STA_VDEVS
in change interface APIs for P2P CLI case.

Change-Id: I195d1cdda2d66f3187698254accf4bc3646d78c2
CRs-Fixed: 2701798
2020-06-18 11:54:44 -07:00
Zhaoyang Liu
7d713f4ae4 qcacld-3.0: Fix CSA process WBW IE bandwidth issue
During channel switch, firmware reports CSA offload event,
driver will process wbw IE and set phy mode into firmware.
Now driver only processes case that frequency segment0 above
current primary channel. So device will use bandwidth which
is mismatched with AP after channel switch. It will cause data
transaction failure. Change to support frequency segment0 below
primary channel.

Change-Id: Ie879ceb8eadbe92f6519886dc30fb2c065ddbc40
CRs-Fixed: 2684883
2020-06-18 11:54:40 -07:00
nshrivas
48ed8adac5 Release 5.2.0.190Q
Release 5.2.0.190Q

Change-Id: Ib359b257a71b9be3ca6624c56a86d6fe1591c4cc
CRs-Fixed: 774533
2020-06-18 03:43:53 -07:00
Abhishek Ambure
ffc2837211 qcacld-3.0: Enable spectral scan for QCA6750
Kbuild change to enable spectral scan for QCA6750 target.

Change-Id: I78e3e1220e46f62c71e838fe15cad35f2e5dbf75
CRs-Fixed: 2702866
2020-06-18 03:43:53 -07:00
nshrivas
6562ea587c Release 5.2.0.190P
Release 5.2.0.190P

Change-Id: I35e563cca6d3804c3005857bceb1e9246b50ee5a
CRs-Fixed: 774533
2020-06-17 19:37:59 -07:00
Utkarsh Bhatnagar
3402879c05 qcacld-3.0: Correct condition to skip DFS channels
Currently the driver skips the DFS channels if
g_sta_sap_scc_on_dfs_chan = 2 which should not
happen as master mode is supported if this ini
is 2. Driver should only skip the DFS channels
if the ini value is 1.
Fix is to correct the condition for the same.

Change-Id: I9d6c2f2c42f9d9f4f1b5bd080b9cdc5c13e031f2
CRs-Fixed: 2700201
2020-06-17 19:37:59 -07:00
Bapiraju Alla
746366c3ee qcacld-3.0: Validate APF memory offset in APF offload vendor command
Currently, APF memory offset is sent to the firmware without validation.
This may cause out of bound memory access in the firmware.

To avoid this, validate apf memory offset with MAX_APF_MEMORY_LEN in
the driver.

Change-Id: I5657f570a820b73b9e07a6fb1ce54807156def24
CRs-Fixed: 2711515
2020-06-17 19:37:56 -07:00
nshrivas
7570e758de Release 5.2.0.190O
Release 5.2.0.190O

Change-Id: I6a1d9cf30986475c69468f5e8d1222ac4bb66a12
CRs-Fixed: 774533
2020-06-17 16:20:05 -07:00
Yu Ouyang
fe30ea50e7 qcacld-3.0: Fix error handling of the vdev destroy timeout
When vdev destroy event timeout, function wait_for_completion_timeout()
will return zero. Zero means completion event timeout. But our code uses
last status to check timeout or not timeout. SME will not be clean at
this case.

So, correct code to ensure sme can be clean.

Change-Id: I4c0366a9d0f89d374f0e6aa50e0aa32f67fac03e
CRs-Fixed: 2705855
2020-06-17 16:20:05 -07:00
Utkarsh Bhatnagar
1d5015befb qcacld-3.0: Initialize roam result and status
Initialize roam result and status in
csr_roam_process_results and
csr_roam_process_start_bss_success to
prevent use of uninitiazed variables.

Change-Id: I06b3026db4bc70b3631c9348101cc8ca691a8b26
CRs-Fixed: 2702076
2020-06-17 16:20:02 -07:00
nshrivas
713edccefb Release 5.2.0.190N
Release 5.2.0.190N

Change-Id: Ia12f78a1deeba1d4eda73d6193b8b9131598ed3e
CRs-Fixed: 774533
2020-06-17 12:14:51 -07:00
Mohit Khanna
8c40bf010d qcacld-3.0: Null-check context in hdd_set_netdev_flags
Add null check for 'hdd_ctx' and 'soc' before accessing them in
hdd_set_netdev_flags function.

Change-Id: I0fc115170943c402b522989d76b278ea1fbd4862
CRs-Fixed: 2706429
2020-06-17 12:14:51 -07:00
Ben Wang
55bcf005c8 qcacld-3.0: Validate adapter before using it
Validate adapter before using it.

Change-Id: I424c87813b26749748ded1e06176950a954ed935
CRs-Fixed: 2708885
2020-06-17 12:14:47 -07:00
Yeshwanth Sriram Guntuka
0bfa34876f qcacld-3.0: Update mc_bc rx pkt count in peer stats
Update multicast and broadcast rx packet count on
receiving wmi update stats event from firmware by
fetching the peer stats from DP layer.

Change-Id: I0befdbe952aa4e773bbe072affaf698819b3a80f
CRs-Fixed: 2709871
2020-06-17 12:14:44 -07:00
Utkarsh Bhatnagar
2a74a1d231 qcacld-3.0: Add check in policy_mgr_dump_channel_list
Add check in policy_mgr_dump_channel_list to restrict the
pcl_channels array index to NUM_CHANNELS & len while printing
2G/5G and 6G channel list as pcl_channels is initialized
with size of NUM_CHANNELS.

Change-Id: I5ca573d1c12970974cbb09c5d25f816e2d6c1de5
CRs-Fixed: 2706882
2020-06-17 12:14:40 -07:00
nshrivas
b0ee46f93c Release 5.2.0.190M
Release 5.2.0.190M

Change-Id: I765aa5b6e19019b34060926ffb32069c5305d635
CRs-Fixed: 774533
2020-06-17 06:15:02 -07:00
Rajeev Kumar
420442623e qcacld-3.0: Get vdev ref properly in pmo enable/disable RTPM offloads
vdev object is used without get ref in runtime pm enable/disable offloads
api, this can lead to vdev use after free issue. Add vdev ref get before
using it and avoid vdev use after free.

Change-Id: I309abdd568c858288150f575899101bda06e57a7
CRs-Fixed: 2710759
2020-06-17 06:15:02 -07:00
Jinwei Chen
5b86a68395 qcacld-3.0: Do not skip GRO flush when T-put is low
For kernel 5.4, skip GRO flush when T-put is low  will cause
11g TCP RX not stable.

Do not skip GRO flush if T-put is low for kernel >= 5.4.

Change-Id: I89c29b64b9801d2a3c917d88cc31cb18296fd4d7
CRs-Fixed: 2697893
2020-06-17 06:14:57 -07:00
nshrivas
dad15b90e3 Release 5.2.0.190L
Release 5.2.0.190L

Change-Id: I84f2f4764946140cde584ca92eadf9184b40c7c7
CRs-Fixed: 774533
2020-06-16 12:20:10 -07:00
Mohit Khanna
0bb3f018bf qcacld-3.0: Add NAN TX checksum offload INI entry
Currently there is a single INI item tcp_udp_checksumoffload to enable
or disable this feature for all the adapters. In some cases, we want to
be able to enable this feature selectively for NAN mode.

Add nan_tcp_udp_checksumoffload ini item to enable or disable checksum
offload feature specifically for NAN mode. If
nan_tcp_udp_checksumoffload is 'true' and tcp_udp_checksumoffload is
false, hardware checksum offload will be enabled only for the NAN
adapter and not for other adapters.

CRs-Fixed: 2698342
Change-Id: I56319095e6229d77ddb5c790d0af9c6ba0267611
2020-06-16 12:20:10 -07:00
nshrivas
cdd88ebae9 Release 5.2.0.190K
Release 5.2.0.190K

Change-Id: Ieb1c73d29968cc480635f95351cb980c1154e514
CRs-Fixed: 774533
2020-06-16 10:23:42 -07:00
Min Liu
0bf96737c8 qcacld-3.0: Set Wi-Fi configurations - NSS
Add attributes in SET_WIFI_CONFIGURATION to dynamically
configure capabilities - NSS.

Change-Id: Ib8174443d6737bc1f6c2737397bd915064715461
CRs-Fixed: 2709121
2020-06-16 10:23:42 -07:00
nshrivas
f710f5ef89 Release 5.2.0.190J
Release 5.2.0.190J

Change-Id: Iaf925d24d3b161d9edba51f950563453b5c3b339
CRs-Fixed: 774533
2020-06-16 06:15:45 -07:00
Subrat Dash
706377360e qcacld-3.0: Parse device info nl attribute in the oem vendor cmd
Userspace uses enum qca_vendor_oem_device_type to indicate
device type as vdev or pdev in the oem data vendor nl command.

This attribute is set to 1 to indicate that the oem data command
is meant for pdev and it is 0 for vdev. The default is vdev when
this nl attribute is not present.

The host driver should update the pdev_id of the vdev and fill
the pdev_vdev_flag to 1 for pdev commands.

Change-Id: I8bdf436759e0935c52bb09c2865fcb4a7a5ee4fc
CRs-Fixed: 2693892
2020-06-16 06:15:45 -07:00
nshrivas
caa2bd2e72 Release 5.2.0.190I
Release 5.2.0.190I

Change-Id: If300a5c4b5c80f64b4fb82f1fae1c5ac029c898d
CRs-Fixed: 774533
2020-06-16 01:52:52 -07:00
Srinivas Dasari
dc72fffd2b qcacld-3.0: Deprecate command support for QCA_NL80211_VENDOR_SUBCMD_NAN
QCA_NL80211_VENDOR_SUBCMD_NAN_EXT is introduced to carry NAN
command data along with channel info. This channel info is needed
to enable DBS on DBS supported platforms. The command data is sent
to firmware as it on non-DBS platforms.
Userspace is expected to send NAN commands through
QCA_NL80211_VENDOR_SUBCMD_NAN_EXT if it's supported. It can send
QCA_NL80211_VENDOR_SUBCMD_NAN if QCA_NL80211_VENDOR_SUBCMD_NAN_EXT
is not supported, which is expected to happen on older
platforms(non-DBS).
So legacy NAN command QCA_NL80211_VENDOR_SUBCMD_NAN is not allowed
on DBS platforms, as the command is sent to firmware without
enabling DBS.
Event part of QCA_NL80211_VENDOR_SUBCMD_NAN is still intact as it
carries NAN events from firmware to userspace.

Change-Id: Ie1aaf9f7ea051009125c972de4f0de13942448fb
CRs-Fixed: 2699605
2020-06-16 01:52:52 -07:00
nshrivas
515ea41025 Release 5.2.0.190H
Release 5.2.0.190H

Change-Id: Ic8103a08963900c99982422f58bef2e5aef44808
CRs-Fixed: 774533
2020-06-15 21:52:20 -07:00
hqu
e2e9ea6d37 qcacld-3.0: Add support for 64-clients
Add support for 64-clients.

Change-Id: Ic97ebb83190b5061734832f6dc6dcdb6d0bdac2b
CRs-Fixed: 2625495
2020-06-15 21:52:20 -07:00
hqu
03c1b12671 qcacld-3.0: Add maximum sta number limitation for each pe_session
Currently use maxStation to create dph_hash_table for each
pe_session, actually maxStation is total allowed maximum
sta for all pe_session that gets from ini gSoftApMaxPeers
and firmware capability.

SIR_SAP_MAX_NUM_PEERS is maximum sta number for each pe_session
and can be configured from config file, add max_sta_of_pe_session
to limit maximum sta number for each pe_session, set
max_sta_of_pe_session as minimum value between maxStation and
SIR_SAP_MAX_NUM_PEERS.

Change-Id: Iaa01c91cd164c470b3f76bffc826ca5abdd4d0d3
CRs-Fixed: 2676484
2020-06-15 21:52:12 -07:00
nshrivas
653f2d1dbb Release 5.2.0.190G
Release 5.2.0.190G

Change-Id: I2849fc97819d06de8e9a4516674f312cf816657c
CRs-Fixed: 774533
2020-06-14 22:14:05 -07:00
Jinwei Chen
3f4590be9a qcacld-3.0: flush batched GRO_NORMAL packets
Kernel 5.4 has applied batched GRO_NORMAL packets processing
for all napi_gro_receive() users. this requires NAPI users to
call napi_complete_done() or napi_complete() at the end of every
polling to flush batched GRO_NORMAL packets.
However, by current wlan driver design, napi_gro_recevie()
is not happened in same NAPI polling context and done in another
thread context, it likely packets which have not been flushed from
napi->rx_list will get stall until next RX cycle.

Fix this by adding a manual flushing of the list right after
napi_gro_flush() call to mimic napi_complete() logics.

Change-Id: Id8c1b9360c380c9631c85f5e048ae2cd2798f65b
CRs-Fixed: 2673959
2020-06-14 22:14:05 -07:00
nshrivas
fb6b07815b Release 5.2.0.190F
Release 5.2.0.190F

Change-Id: If4fa8ac1af4c5269aa91e19cd11f9173b1830f46
CRs-Fixed: 774533
2020-06-13 03:23:38 -07:00
Rakesh Pillai
f316ead4db qcacld-3.0: Vote for high DDR bandwidth in FTM mode
In FTM mode, we are not voting for any DDR frequency,
which leads to uneven TX/RX duty cycle, since the DDR
frequency will entirely depends on any other subsytem's
vote.

Vote for VERY HIGH BW in FTM mode.

Change-Id: I7f85fb9889d9119c7224c9bcd9688327e78f15ff
CRs-Fixed: 2706143
2020-06-13 03:23:38 -07:00