Commit graph

17,571 commits

Author SHA1 Message Date
tinlin
7167dc1dfd qcacld-3.0: Convert legacy channel usage
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:

	csr_roam_set_bss_config_cfg

Change-Id: I92ffda4ab9fa66340aa1cd75f3fcbb3b3e36b27d
CRs-Fixed: 2563211
2019-11-13 22:13:44 -08:00
nshrivas
8865eb47ab Release 5.2.0.156W
Release 5.2.0.156W

Change-Id: If2df28ddd2529e5decf9a414edeaf1f4853aeb63
CRs-Fixed: 774533
2019-11-13 06:53:05 -08:00
Rachit Kankane
8bb26e3ea5 qcacld-3.0: Increase max limit -gEnableDynamicDTIM
Increase max limit to value 10 for INI gEnableDynamicDTIM.

Change-Id: I91cbe24bd37818a65c9678c89c482a059ff1e37e
CRs-Fixed: 2536749
2019-11-13 06:53:05 -08:00
Liangwei Dong
0e18c47d0c qcacld-3.0: Change channel to Frequency for acs_cfg fields
Change vht_seg0_center_ch and vht_seg1_center_ch in acs_cfg
struct to vht_seg0_center_ch_freq, vht_seg1_center_ch_freq
respectively.

Change-Id: Ie3378376e6f31c239157c8eaaf3ceb22d2e35073
CRs-Fixed: 2564065
2019-11-13 06:52:58 -08:00
Liangwei Dong
50d12dc273 qcacld-3.0: Convert to freq for acs->start_ch
Change acs->start_ch and acs->end_ch to acs->start_ch_freq
and acs->end_ch_freq respectively.

Change-Id: I105cd618970c739340df29d58f635d01a68754d2
CRs-Fixed: 2564018
2019-11-13 06:52:51 -08:00
gaurank kathpalia
0eddedfcc4 qcacld-3.0: ACS changes for 6ghz
Acs changes for 6ghz to change chan to frequency
in the spectral params structure.

Change-Id: Iffd348ac5c2457b313b702a92b340a258992e764
CRs-Fixed: 2564043
2019-11-13 06:52:43 -08:00
gaurank kathpalia
92b81ceb99 qcacld-3.0: Convert primary, secondary channel for acs cfg to freq
Convert primary, secondary channel for acs cfg to freq as part
of ACS 6Ghz changes.

Change-Id: I4f6220b39dae91df070b0764fa8b048cdc6ad00f
CRs-Fixed: 2555988
2019-11-13 06:52:36 -08:00
gaurank kathpalia
648adbafb9 qcacld-3.0: Refactor ACS channel code
Refactor ACS channel code to improve readability
and reduce the duplicate checks.

Change-Id: I00e354d6b564b06a9fe3537dcf2deb7517a9a919
CRs-Fixed: 2550621
2019-11-13 06:52:30 -08:00
nshrivas
9ff7d1f4cb Release 5.2.0.156V
Release 5.2.0.156V

Change-Id: I28c7da4371d15def7d97cddb62fdeeb37f03ff43
CRs-Fixed: 774533
2019-11-13 00:55:56 -08:00
Yeshwanth Sriram Guntuka
e6e60f89fd qcacld-3.0: Do client cleanup in SSR case for P2P GO
Reset adapter done for P2P GO as part of shutdown does
not invoke hdd_sap_indicate_disconnect_for_sta where in
cleanup is done and ap_active flag is reset to false.
After re init, if sta connection happens and driver
unload is triggered, bus_bw timer is not stopped as
part of station stop_adapter since ap_active flag is not
reset to false.

Fix is to invoke hdd_sap_indicate_disconnect_for_sta in
case of P2P GO cleanup during shutdown.

Change-Id: Ia832ccf4311bfdf202fcf01d3ab46023c0f3451f
CRs-Fixed: 2562839
2019-11-13 00:55:56 -08:00
nshrivas
c117c06e27 Release 5.2.0.156U
Release 5.2.0.156U

Change-Id: I8f93af37ccdc3ee704f33b4cd6c821be2c34d751
CRs-Fixed: 774533
2019-11-12 23:12:05 -08:00
Kiran Kumar Lokere
8dbd85a5b0 qcacld-3.0: Enable crypto convergence set key and IE support
Enable crypto convergence set key and IE support features.

Change-Id: Id8a22b7620bfe4e9cda003619d9f7f2329cc00cd
CRs-Fixed: 2560619
2019-11-12 23:12:03 -08:00
nshrivas
885a2b9bca Release 5.2.0.156T
Release 5.2.0.156T

Change-Id: I9c9e97cd7db8217a155f0e30bf7880f58e907ecc
CRs-Fixed: 774533
2019-11-12 19:12:59 -08:00
hqu
ac3362db81 qcacld-3.0: Fix regression issue for htMaxRxAMpduFactor set in vht
5G HE80 mode tput will fail due to
"Change-Id: I8e2833a48ca5de0301634a88eb1a66002b4c9c20".

Fix is to set htMaxRxAMpduFactor with maxAMPDULenExp from
vht capability When STA capability is vht capability.

Change-Id: I6b3c2de0c772688e2b736a07528665e1f23eed94
CRs-Fixed: 2553371
2019-11-12 19:12:59 -08:00
nshrivas
bc84908f30 Release 5.2.0.156S
Release 5.2.0.156S

Change-Id: I1cf8337ee828f833a201c34a1f01e4ef211daad5
CRs-Fixed: 774533
2019-11-12 02:35:22 -08:00
Tushnim Bhattacharyya
76a8e2ae63 qcacld-3.0: Set default value of 2 for g_sta_sap_scc_on_dfs_chan
The value 2 is to enable STA+SAP force SCC on DFS channel if STA
is already on DFS channel & also to allow SAP to come up on DFS
channel stand alone & perform CAC (DFS master mode). Set default
value of 2 for g_sta_sap_scc_on_dfs_chan.

Change-Id: Ic1873e1a5b79086aa3e41d3eecea2049b7fc3adf
CRs-Fixed: 2560614
2019-11-12 02:35:21 -08:00
bings
e063e4f155 qcacld-3.0: Convert legacy chan ID usage to chan freq
Modify the following 3 APIs' code and parameters to make
sure they're using frequency instead of channel ID:
   sme_get_reg_info
   wlan_hdd_get_channel_info
   hdd_update_channel_bw_info

Change-Id: I87ad6fb9cd9fcd7fe4e41e62a32e4954e93f8ba1
CRs-Fixed: 2554710
2019-11-12 02:35:14 -08:00
nshrivas
bc67fde4df Release 5.2.0.156R
Release 5.2.0.156R

Change-Id: I14c97aac87feaaf3f1dd1e9e0c7512b93db6f8a4
CRs-Fixed: 774533
2019-11-11 23:08:03 -08:00
Rakesh Pillai
f94b162ed0 qcacld-3.0: cdp: Convergence of cdp_l_flowctl_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged l_flowctl_ops
- register_tx_flow_control
- set_vdev_tx_desc_limit
- set_vdev_os_queue_status
- deregister_tx_flow_control_cb
- flow_control_cb
- get_tx_resource
- ll_set_tx_pause_q_depth
- vdev_flush
- vdev_pause
- vdev_unpause

CRs-Fixed: 2539748
Change-Id: I8ad4a20914c654b8e8aaf629dda7f673fdb110e4
2019-11-11 23:08:02 -08:00
Rakesh Pillai
4981a8f790 qcacld-3.0: cdp: Convergence of cdp_mob_stats_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged mob_stats_ops
- clear_stats

CRs-Fixed: 2539747
Change-Id: I5ee060b62d15380df4b8d15bb5709d700902aafd
2019-11-11 23:07:57 -08:00
Rakesh Pillai
84714471df qcacld-3.0: cdp: Convergence of cdp_ocb_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged ocb_ops
- set_ocb_chan_info
- get_ocb_chan_info

CRs-Fixed: 2539745
Change-Id: I7de53c48ec6b7f0c09be7c9cf642d8cf4f8eae78
2019-11-11 23:07:52 -08:00
Rakesh Pillai
82555082c9 qcacld-3.0: cdp: Convergence of cdp_throttle_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged throttle_ops
- throttle_init_period
- throttle_set_level

CRs-Fixed: 2539744
Change-Id: I0e1339ead92d66463d3b58ed9268c7194fd2bd27
2019-11-11 23:07:46 -08:00
Rakesh Pillai
ef35fab84c qcacld-3.0: cdp: Convergence of cdp_delay_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged delay_ops
- tx_delay
- tx_delay_hist
- tx_packet_count
- tx_set_compute_interval

CRs-Fixed: 2539742
Change-Id: I201d343f4ced3b861a65ddf78e10e66f786e5e91
2019-11-11 23:07:40 -08:00
Rakesh Pillai
a889ffa967 qcacld-3.0: cdp: Convergence of cdp_flowctl_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged flowctl_ops
- flow_pool_map_handler
- flow_pool_unmap_handler
- dump_flow_pool_info
- tx_desc_thresh_reached

CRs-Fixed: 2539738
Change-Id: I9b11e66d8c2644f16e0f2464c323798a4cba007a
2019-11-11 23:07:35 -08:00
nshrivas
76be14960f Release 5.2.0.156Q
Release 5.2.0.156Q

Change-Id: I2d44b87e3f9fa75e0534652994c763388edadaa2
CRs-Fixed: 774533
2019-11-11 16:44:09 -08:00
Pragaspathi Thilagaraj
483d70b71b qcacld-3.0: Validate hidden ssid after roaming to avoid disconnection
After roam synch indication is received, the driver compares the
SSID of the current AP and SSID of the roamed AP. If there is a
mismatch, driver issues disassociate to current connected AP.
This causes data path queues to be stopped and M2 to the roamed
AP from userspace will fail. The SSID of the current AP is
parsed from the beacon IEs stored in the connected bss
description. In hidden ssid case the SSID IE has 0 length
and the host receives unicast probe with SSID of the
AP in the roam synch indication. So SSID mismatch happens
and validation fails.

Check if the current SSID in the bss description is NULL.
If its NULL, get the SSID from the connected profile in csr
session.

Change-Id: I30c41b821c0fc506d763eb33f8bb706dd26b405a
CRs-Fixed: 2544915
2019-11-11 16:44:08 -08:00
nshrivas
4b9cad9628 Release 5.2.0.156P
Release 5.2.0.156P

Change-Id: I1354489de590a05e840260b1634b2e1191c882bd
CRs-Fixed: 774533
2019-11-11 15:15:47 -08:00
gaurank kathpalia
7944f32d2c qcacld-3.0: Make get_nss command compatible with hastings
Currently the command to get nss checks the max capability
of enable 2x2, and if the capability is 1, and the
hw mode is currently DBS, it lowers the nss capability
to 1 which is expected in helium, but not in hastings.

Fix is to check whether the device supports DBS 2x2
capability and then only downgrade the value of nss.

Change-Id: I18acef455c0790862ba786f87af776b65646aca6
CRs-Fixed: 2557587
2019-11-11 15:15:46 -08:00
Sourav Mohapatra
f43b308019 qcacld-3.0: Take dev_hold during iterating adapters
The existing API/macro hdd_for_each_adapter() iterates over the hdd
adapter list with the iterator pointing to each adapter. This iteration
is not safe when seen with respect to unregistration of netdev going in
parallel in other thread. In case the adapter is removed, the iteration
will result in NULL pointer dereference.

An example of this issue is seen when the following happens in parallel.
	1. del_virtual_interface -> hdd_remove_adapter -> removes node
	2. hdd_indicate_mgmt_frames -> hdd_for_each_adapter iteration

To make the iteration delete safe, redirect the fetching of the adapter
through objmgr. This reduces the possibility of race window by a large
margin. In this case, even if the adapter is freed as a part of
unregister_netdevice, the reference held ensures that we block the
unregister until the work is done in the current thread.

Change-Id: Ic49aa22a8eef68dc1977fb73f2c1fd920bfeb7a1
CRs-Fixed: 2557890
2019-11-11 15:15:33 -08:00
Li Feng
0ab277ae53 qcacld-3.0: Convert SME code legacy channel ID usage
Modify the following API code and parameters to make
sure they're using frequency instead of channel ID:
    csr_roam_get_phy_mode_band_for_bss

Change-Id: I98be07f9bcca3b85fd1dedbc532fc9810a8d5e4d
CRs-Fixed: 2560010
2019-11-11 15:15:19 -08:00
Jinwei Chen
795728d939 qcacld-3.0: add macro HAL_REGISTER_WRITE_DEBUG for Def build
Enable macro HAL_REGISTER_WRITE_DEBUG for Def build to
enable register writing result check.

Change-Id: I3387dcc2739429a7943fbda7a666f3ddbbe80f0a
CRs-Fixed: 2561073
2019-11-11 15:15:12 -08:00
nshrivas
ce07ddd790 Release 5.2.0.156O
Release 5.2.0.156O

Change-Id: Ic6ed54cbe06f4bb328bad45bac71be5ac51f1aff
CRs-Fixed: 774533
2019-11-11 10:49:18 -08:00
gaurank kathpalia
f50998a4cb qcacld-3.0: Set the flag for max BW support
Currently the FW expects the flag of
scan chan cmd to be set if the max BW
is filled for all the channels, which
is not set by driver.

Fix is to set the flag's 2 bit to allow
FW to use the max chanel BW.

Change-Id: I6240b8ae2f0c7389c43dd310d894a35411503d6e
CRs-Fixed: 2550431
2019-11-11 10:49:18 -08:00
nshrivas
151b1d0fc3 Release 5.2.0.156N
Release 5.2.0.156N

Change-Id: Ic3f7e5eeb4ac51228968b402ca31cb1e4f3dde5e
CRs-Fixed: 774533
2019-11-11 02:05:27 -08:00
Bala Venkatesh
ff86f89448 qcacld-3.0: Add the ini gTDLSDiscoveryWakeTimeout
Add the support for the ini gTDLSDiscoveryWakeTimeout.
with this ini gTDLSDiscoveryWakeTimeout, FW will be awake
for configured value after sending the discovery request.

Change-Id: I194e5c99972968bbaa46ffb6b8e83604bff15a0a
CRs-Fixed: 2546515
2019-11-11 02:05:27 -08:00
nshrivas
e5fe7adfe4 Release 5.2.0.156M
Release 5.2.0.156M

Change-Id: I9e5c0b468fe89ae707517eae70b1bd6256ff739a
CRs-Fixed: 774533
2019-11-10 20:41:02 -08:00
Will Huang
a6af7e1182 qcacld-3.0: Use channel frequency in sme_get_cfg_valid_channels()
Use channel frequency in API sme_get_cfg_valid_channels(), and modify
all places which call this API.

Change-Id: Iab15d03b6e9070c68711f06ec7300bb29d986185
CRs-Fixed: 2559274
2019-11-10 20:41:01 -08:00
nshrivas
9c82045c9b Release 5.2.0.156L
Release 5.2.0.156L

Change-Id: Ieca4041da5eba25446038b540eda544e505c151c
CRs-Fixed: 774533
2019-11-09 02:26:29 -08:00
Arun Kumar Khandavalli
c13afcd9da qcacld-3.0: Retrieve information from the object manager vdev
sme_session_params has duplicate information which can be retrived
from the vdev object directly, hence remove the duplicate values
and get information directly from the vdev.

Change-Id: I151dbefcfedc20673fbf072b9c308dc9a6243bb1
CRs-Fixed: 2555909
2019-11-09 02:26:27 -08:00
nshrivas
dc111e8549 Release 5.2.0.156K
Release 5.2.0.156K

Change-Id: Id21eb310f6ea895a46dbaf2a12ce1d06b82f33da
CRs-Fixed: 774533
2019-11-08 18:23:38 -08:00
Li Feng
96955a1edd qcacld-3.0: Convert SME code legacy channel ID usage
Modify the following API code and parameters to make
sure they're using frequency instead of channel ID:
    csr_roam_chk_lnk_set_ctx_rsp

Change-Id: Ia96b78406fc09d0ee4383a446bdd5e09d8f7f12c
CRs-Fixed: 2559993
2019-11-08 18:23:37 -08:00
nshrivas
ac101ab6bb Release 5.2.0.156J
Release 5.2.0.156J

Change-Id: I1879c2352e8970f9771316c5a5c51c23d3635df8
CRs-Fixed: 774533
2019-11-08 15:54:58 -08:00
Mohit Khanna
5b42d1b969 qcacld-3.0: Wait for IPA TX Completions on IPA disablement
In DBS scenario(SAP + STA) when all SPA clients disconnect, while STA is
still connected, IPA pipes are disabled on the lithium target. At this
time, its possible that some packets TX from IPA over WLAN are still
pending. If these completions come after IPA pipes are disabled, it can
lead to a NOC error, since the GSI doorbell register for WBM2SW2 ring
may be clock gated (after IPA pipes are disabled).

To avoid this situation, wait for some time before disabling IPA pipes.
IPA pipes are disabled after a timeout, when system suspend call tries
to suspend the bus. A driver unload or a softap tear-down will also
disable the pipes.

Change-Id: I542049fa19d0dcf5c31d9b8a2d836388847dd6c1
CRs-Fixed: 2553670
2019-11-08 15:54:58 -08:00
nshrivas
3161be186c Release 5.2.0.156I
Release 5.2.0.156I

Change-Id: I099d8c183ab1e6111beba2911555754b5855c619
CRs-Fixed: 774533
2019-11-08 06:54:40 -08:00
Arun Kumar Khandavalli
27f443e880 qcacld-3.0: Drive the self peer creation from the sme layer
Presently as part of the vdev creation the self peer for the vdev
is created in the object manager and in the firmware. The self
peer creation in the object manager needs the vdev to be in the
created state. As part of new changes to send the vdev create to
firmware as part of the vdev creation notification there will be
failure in creating in the self peer.

Hence, drive the self peer creation from the SME layer which will
create the vdev.

Change-Id: I0875f4ec5bd96438c0f21056e1d6920d3be2a177
CRs-Fixed: 2555868
2019-11-08 06:54:39 -08:00
nshrivas
1864fba4b9 Release 5.2.0.156H
Release 5.2.0.156H

Change-Id: I858775e21951c73273f0cdfbd72a508a87303f3c
CRs-Fixed: 774533
2019-11-08 01:45:03 -08:00
Rakesh Pillai
3189481b43 qcacld-3.0: Pass vdev_id instead of vdev for cdp txrx stats
The datapath vdev handle is not to be used outside
datapath layer. So the cdp api for getting txrx stats
will pass vdev_id instead of the vdev handle.

Pass vdev id instead of vdev handle for the cdp api
used to get txrx stats.

CRs-Fixed: 2560363
Change-Id: I761966c2a7c7145e511b679556477beea74eda06
2019-11-08 01:45:02 -08:00
nshrivas
f852281c41 Release 5.2.0.156G
Release 5.2.0.156G

Change-Id: I0d6cd8a7b58cb016fdd45e9773fe2a093a7c5858
CRs-Fixed: 774533
2019-11-07 15:16:12 -08:00
Li Feng
ae9c0fa3fb qcacld-3.0: Convert SME code legacy channel ID usage
Modify the following API code and parameters to make
sure they're using frequency instead of channel ID:

    csr_is_valid_channel

Change-Id: Ie0c912459daf8bcd907b27a288ad82edd18c22f1
CRs-Fixed: 2554177
2019-11-07 15:16:11 -08:00
Liangwei Dong
c59d2b0004 qcacld-3.0: Enable 6GHz feature for WHUNT
1. Add whunt_defconfig for whunt target. New Features can be
enabled in it to run related whunt test cases.

2. Enable CONFIG_BAND_6GHZ and CONFIG_WLAN_FEATURE_11AX
for whunt 6GHz test.

Change-Id: I63b84086cbf28e1fe3ab44bedb4977e73212af29
CRs-Fixed: 2550575
2019-11-07 15:16:01 -08:00