Commit Graph

17743 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
bbe3ab0934 qcacld-3.0: Set roam invoke in progress to false on HO failure
When roam invoke fails during handoff, firmware sends HO failure
indication to host. Here the roam_invoke_in_progress flag is not
cleared.

Clear the roam_invoke_in_progress flag when fastreassoc fails
due to handoff failure at firmware.

Change-Id: Ifc0ade939980138f64013299a9ea4e97468ce00f
CRs-Fixed: 2715281
2020-06-23 06:26:19 -07:00
nshrivas
fff75f60cc Release 5.2.0.191D
Release 5.2.0.191D

Change-Id: If48eae39185b2e4fb121b3ab7674d67fe436fac3
CRs-Fixed: 774533
2020-06-23 04:01:03 -07:00
Jianmin Zhu
faf92193d4 qcacld-3.0: Replace channel with frequency for 6G
Replace wlan_reg_is_24ghz_ch with wlan_reg_is_24ghz_ch_freq.
Replace channel with frequency in cds_get_vendor_reg_flags.

Change-Id: I72ffc5550e45be1edf460f9619fead8889cf2967
CRs-Fixed: 2714723
2020-06-23 04:01:03 -07:00
Ashish Kumar Dhanotiya
1130e58a67 qcacld-3.0: Remove validate context check in LL stats get NB ops
As a part of LL stats get NB operation, the driver sends the LL stats
req to the FW, waits for the response and sends back the stats in a
synchronous reply. All this happens as a part of one single NB
operation.

Within this operation, if an rmmod comes, there can be a possiblity
of a memory leak. In function hdd_link_layer_process_radio_stats, there
is a check to validate the hdd_context and return if the driver is
undergoing load/unload. As a part of the premature return, some stats
are not returned to user space..

To resolve this, remove the validity check from the NB operation. The
operation itself comes with DSC synchronization and ensures that the
hdd_context remains valid atleast until the operation is complete. Thus
there is no need for the redundant check of validity of hdd_context.

Change-Id: I20cc85b715330a28bc077ca47a1721343bba7214
CRs-Fixed: 2714136
2020-06-23 04:01:00 -07:00
nshrivas
f911f58d87 Release 5.2.0.191C
Release 5.2.0.191C

Change-Id: Ie73d9254c5ddb06881fa5f82d14477bc0bf2c120
CRs-Fixed: 774533
2020-06-23 00:27:55 -07:00
Yu Wang
7bb505608d qcacld-3.0: fix a potential assignment truncation issue
Truncation will happen when assining an association id over 256
to the u8 'aid' of struct wma_txrx_node.
To avoid such issue, change the type of 'aid' in struct wma_txrx_node,
from u8 to u16.

CRs-Fixed: 2713427
Change-Id: If360c017700aadaf9f2d3216601a011704f68180
2020-06-23 00:27:54 -07:00
nshrivas
77e6603717 Release 5.2.0.191B
Release 5.2.0.191B

Change-Id: Ic94216da8a04018f7eac86a7a104a28fad6b2fea
CRs-Fixed: 774533
2020-06-22 22:06:12 -07:00
Jianmin Zhu
477cb83408 qcacld-3.0: Fix LFR2 failed for roam scan mode 0
Regression of Change-Id:
I1de3f71ca96de9f464d5d33b0271f99c55cff535
make LFR2 roam scan mode config
WMI_ROAM_SCAN_MODE_RSSI_CHANGE depend on roam_force_rssi_trigger
which is uninitialzed when LFR3 disabled, so roam scan mode 0
is sent to F/W wrongly in WMI_ROAM_SCAN_MODE when LFR2 enabled.

Fix: Initialize roam_force_rssi_trigger in roam offload scan
request with ini config for LFR2 too.

Change-Id: Ifd65119a87a6a348a952a4eec70a336015192d43
CRs-Fixed: 2704513
2020-06-22 22:06:12 -07:00
nshrivas
24ff03400c Release 5.2.0.191A
Release 5.2.0.191A

Change-Id: Ib6e23bb510febcc07b4e1e0f0e976dc239218a93
CRs-Fixed: 774533
2020-06-22 15:55:17 -07:00
nshrivas
0c0f59b895 Release 5.2.0.191
Release 5.2.0.191

Change-Id: I66aac93cea64e05f337f4b0241988ebf190613f0
CRs-Fixed: 774533
2020-06-22 12:37:30 -07:00
Arun Kumar Khandavalli
b6404b1bbb qcacld-3-0: Have bus specific recovery ini checks to get imp info
Presently, in the host initiated recovery the handler checks whether
the support for recovery is enabled via the ini or triggers the panic.
Whenever the panic is triggered the irq's will be disabled,
this results in some targets not able to collect the important
MHI, PCI information on what caused the issue to root cause the issue.

So, for different targets check the ini at different places.

Change-Id: I0d0e322610abd9f8ceaba4fe9688cdd099c381e5
CRs-Fixed: 2715603
2020-06-22 12:37:30 -07:00
nshrivas
a2fcc4110b Release 5.2.0.190Z
Release 5.2.0.190Z

Change-Id: Ic984abb5c9f334c4130c688f114516f7f9968db5
CRs-Fixed: 774533
2020-06-22 06:14:42 -07:00
Surabhi Vishnoi
07fd1a8fe9 qcacld-3.0: Add support to handle CFR vendor command for adrastea
Adrastea target expects different attributes in vendor command
QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG. So add an api to parse
the vendor command  QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG
which will be called based on CFR version type.

Change-Id: I965b3cd6b93a288f1074ea0c09306cfff9f6ced0
CRs-Fixed: 2687075
2020-06-22 06:14:42 -07:00
nshrivas
361476e01b Release 5.2.0.190Y
Release 5.2.0.190Y

Change-Id: Idaf53412cb1163a3587a6a92e2e3bb90101a58dd
CRs-Fixed: 774533
2020-06-22 01:37:05 -07:00
Ashish Kumar Dhanotiya
a747d4cdb8 qcacld-3.0: Handle multiple oem data events for single command
FW can send multiple events for a single oem data command
based on the size of the data to be send and the available
buffer size.
Currenlty sme callback in the oem data event handler
wma_oem_event_handler is set to null after it process the
event because of which next events for the same command
are not processed.

To address this issue do not make the sme callback as null
in the wma oem event handler.

CRs-Fixed: 2714680
Change-Id: Ia435a5bee7ed4d2e16313698052033f8b45a5873
2020-06-22 01:37:05 -07:00
nshrivas
7bce548cae Release 5.2.0.190X
Release 5.2.0.190X

Change-Id: I2ff5e2296b6f70081affb03526732e35eec4b26b
CRs-Fixed: 774533
2020-06-21 23:36:52 -07:00
bings
3a251813a2 qcacld-3.0: Set group key to FW when sap starts
If any group key is gotten before sap bss starts, it should be sent to FW
when sap bss starts. There should be no valid unicast key before sap bss
starts, so no need to set the key to FW as unicast key again.

All the saved group key should be set to FW when sap starts.

Change-Id: I8a36415b896881b2e7c0ab72b9679eb1daa86e80
CRs-Fixed: 2705593
2020-06-21 17:15:55 -07:00
nshrivas
a84c07924b Release 5.2.0.190W
Release 5.2.0.190W

Change-Id: Id62105d04372abf2bbc067ce607821a040b40741
CRs-Fixed: 774533
2020-06-20 17:53:15 -07:00
Utkarsh Bhatnagar
38744f2fa8 qcacld-3.0: Check LDPC based on peer capabilities
Set LDPC if AP sets it in either assoc response or beacon
along with one of the following conditions:

1) nss should be greater than 4
2) channel width should be more than 20 Mhz
3) MCS 10 and 11 bit must be set

Change-Id: If23b119b3bf2d07282e9fc9a3bfbb6baa0887737
CRs-Fixed: 2708333
2020-06-20 17:53:14 -07:00
nshrivas
d9acbe021a Release 5.2.0.190V
Release 5.2.0.190V

Change-Id: Ibc41d456112a212f179ac9d02120f62b7e46424f
CRs-Fixed: 774533
2020-06-19 19:45:11 -07:00
Bapiraju Alla
1e8daa1ec3 qcacld-3.0: Set 40MHz capability in HE 2G PHY
Set IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G flag in wiphy
2.4GHz capabilities

Change-Id: Ia142c4c307ea2f7edb9fac018d5be62ca93a3a11
CRs-Fixed: 2693444
2020-06-19 19:45:11 -07:00
Alok Kumar
0cbee2ed1f qcacld-3.0: Register hdd_gro_rx_dp_thread cb for GRO on QCA6750
For Lithium target, hdd_gro_rx_dp_thread callback is registered
to handle GRO.
Currently this callback is not registered for target qca6750.

Register hdd_gro_rx_dp_thread callback for target QCA6750 to
handle GRO.

Change-Id: I2991a6b2f6a2a614f4bb7f36bac6ec4909c4d251
CRs-Fixed: 2712504
2020-06-19 19:45:07 -07:00
Srinivas Girigowda
7678422000 qcacld-3.0: Replace obsolete WMA_LOGD() with wma_debug()
Replace obsolete WMA_LOGD() macro with wma_debug().

Change-Id: I41534dd1cc0321d0e5a77a8ba1f4fbe07ad7e6f3
CRs-Fixed: 2712788
2020-06-19 19:45:04 -07:00
Srinivas Girigowda
ba519cafa2 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_utils.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_utils.c

Change-Id: I917b234c6fef83e93d4ef7f8a27b9b604c3045ad
CRs-Fixed: 2712788
2020-06-19 19:45:01 -07:00
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
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
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
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