Commit Graph

14597 Commits

Author SHA1 Message Date
nshrivas
434fd3d02d Release 5.2.0.117T
Release 5.2.0.117T

Change-Id: I0c38a63fca39913d825adf5f57bf76a6430c7df6
CRs-Fixed: 774533
2019-01-30 18:54:12 -08:00
Bala Venkatesh
9391de3b8d qcacld-3.0: Populate dual mac disable feature correctly
Currently, dual mac disable feature is populated from object mgr
psoc. But, this ini is moved to policy mgr. So, populate this ini
from policy mgr context.

Change-Id: I5d83ce0efa9130cc37734f3d7e982def4fe59ac2
CRs-Fixed:
2019-01-30 18:54:11 -08:00
Jeff Johnson
9d45f33ab9 qcacld-3.0: Refine the "set scan oui" logic
Make the following updates to the "set scan oui" logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.
3) Replace instances of mixed-case identifiers.
4) Document the API definitions, not the implementations.

Change-Id: I5df3962fc45395b37b4e566f98b840e37f601d26
CRs-Fixed: 2389640
2019-01-30 18:54:07 -08:00
nshrivas
61e6fc2bd2 Release 5.2.0.117S
Release 5.2.0.117S

Change-Id: Ie84e0d34320ae080577cbf77591cdc87b74167d3
CRs-Fixed: 774533
2019-01-30 14:31:25 -08:00
Sandeep Puligilla
1952217001 qcacld-3.0: Enable MBSSID feature
Enable MBSSID feature through compilation flag.

Change-Id: If8cdfad35bb55d201d4b90f78f57406e404edbf6
CRs-Fixed: 2382918
2019-01-30 14:31:24 -08:00
Wu Gao
2f2cddb2ea qcacld-3.0: Cleanup unused WNI_CFG_DNLD_REQ
WNI CFG needn't to download since all wni cfg refactored based on new
cfg framework, so remove WNI_CFG_DNLD_REQ.

Change-Id: Icd85b7797fcbc41debe55edb6b1f68478797d726
CRs-Fixed: 2387589
2019-01-30 14:31:19 -08:00
Wu Gao
55020ecda8 qcacld-3.0: Remove unused cfg messages
Legacy cfg is cleaned up since all wni cfg refactored based on new cfg
framework, so remove unused cfg messages.

Change-Id: Ibb31eae1d17dcd9c2481b13c6246dd89b954e710
CRs-Fixed: 2385963
2019-01-30 14:31:14 -08:00
Jianmin Zhu
b659fa12bf qcacld-3.0: Clean up serialization legacy code
Clean up serialization legacy APIs:

csr_nonscan_pending_ll_unlock
csr_nonscan_active_ll_unlock
csr_nonscan_pending_ll_lock
csr_nonscan_active_ll_lock
csr_nonscan_pending_ll_insert_head
csr_nonscan_pending_ll_insert_tail
csr_nonscan_active_ll_insert_head

Change-Id: Ic01eba064e57caa988014f90e24510f34fd70acd
CRs-Fixed: 2389963
2019-01-30 14:31:10 -08:00
nshrivas
30423e2b05 Release 5.2.0.117R
Release 5.2.0.117R

Change-Id: I4b796dadaba517e97bf2ba6fc141d93446e83bc1
CRs-Fixed: 774533
2019-01-30 08:26:10 -08:00
Jeff Johnson
5cfd0613eb qcacld-3.0: Remove AC_MGMT_LO/HI macros
The macros AC_MGMT_LO and AC_MGMT_HI are unused, so remove them.

Change-Id: I25f8a2255b75598310388b03bf7911dc4ec27e67
CRs-Fixed: 2382793
2019-01-30 08:26:09 -08:00
nshrivas
8d92d0bba0 Release 5.2.0.117Q
Release 5.2.0.117Q

Change-Id: I35dde61154afe1ca0bf12c49e6de4bcf53abaf90
CRs-Fixed: 774533
2019-01-30 06:01:08 -08:00
Arif Hussain
0fe654a4e7 qcacld-3.0: Fix possible OOB read in stats event handler
Fix possible OOB read while handling
WMI_REPORT_STATS_EVENTID from firmware.

Change-Id: I9c6efae3bc11447aeb36bd9c4db43848e277f86f
CRs-Fixed: 2382056
2019-01-30 06:01:07 -08:00
nshrivas
24b71df511 Release 5.2.0.117P
Release 5.2.0.117P

Change-Id: I46653f00420116fd300e8012fe005de70cf03ba1
CRs-Fixed: 774533
2019-01-30 02:32:02 -08:00
Jianmin Zhu
2f9e7536a6 qcacld-3.0: Update 2g vht20 cfg by target capability
Only when F/W indicates 2g vht20 supported and ini config
gEnableVhtFor24GHzBand=1, 2g vht20 can be enabled.

Steps:
For chips wmi_service_ext_msg supported:

1. hdd_component_psoc_open->mlme_cfg_on_psoc_enable->
	mlme_init_vht_cap_cfg, read and save ini cfg:
	gEnableVhtFor24GHzBand.
2. WMI_SERVICE_READY_EXT_EVENT indicates 2g vht20 capability by
	mac_phy_caps->vht_cap_info_2G.
3. init_deinit_populate_mac_phy_capability calls
	extract_mac_phy_cap_service_ready_ext_tlv
	to extract vht_cap_info_2G, and set to
	psoc->tgt_if_handle->info.mac_phy_cap.
4. hdd_update_tgt_cfg->hdd_update_vhtcap_2g->
	wma_get_caps_for_phyidx_hwmode, get target capability,
	and combine ini cfg, update 2g vht20 cfg in mlme.

For chips wmi_service_ext_msg unsupported:

1. hdd_component_psoc_open->mlme_cfg_on_psoc_enable->
	mlme_init_vht_cap_cfg, read and save ini cfg:
	gEnableVhtFor24GHzBand.
2. WMI_SERVICE_READY_EVENT indicates 2g vht20 capability by
	hal_reg_capabilities-> wireless_modes
	REGDMN_MODE_11AC_VHT20_2G bit.
3. init_deinit_populate_phy_reg_cap calls wmi_extract_hal_reg_cap
	to extract hal_reg_capabilities, and set to
	regulatory component by ucfg_reg_set_hal_reg_cap, saved
	in wlan_regulatory_psoc_priv_obj->reg_cap.
4. hdd_update_tgt_cfg->hdd_update_vhtcap_2g, get and target
	capability and combine ini cfg, update 2g vht20 cfg in
	mlme.

Change-Id: Id4f2edd129bb1eefec3e39b4246c5f52b2b4124a
CRs-Fixed: 2384842
2019-01-30 02:32:01 -08:00
Manjunathappa Prakash
a0d3809b49 qcacld-3.0: Force flush of gro_list not required
gro_list is flushed based on timing constraint, no need to force flush
when we dynamically disable the GRO.
Other need for force flush may be to account out of order processing due to
dynamic disable/enable of GRO. But for TCP it is not an issue as TCP stack
makes sure they are delivered in order.

Change-Id: Ie66ca41563dd2b7a4d9c5bf6f4aefdd1b901f2d1
CRs-Fixed: 2389842
2019-01-30 02:31:57 -08:00
nshrivas
c393f13592 Release 5.2.0.117O
Release 5.2.0.117O

Change-Id: I47fb659109e573b78f26a82db9ecd3257c2c6c2e
CRs-Fixed: 774533
2019-01-30 00:02:56 -08:00
Nirav Shah
a6c6dc9f75 qcacld-3.0: Changes to support rri_over_ddr support for Genoa
Changes to support rri_over_ddr support for Genoa.

Change-Id: I1b98e6ec765b8b9da7f0a2f8b21f410c44fa90c2
CRs-Fixed: 2357344
2019-01-30 00:02:55 -08:00
Yu Wang
6c4599c854 qcacld-3.0: add support for multi ko
To build multiple ko for different wlan targets

CRs-Fixed: 2381715
Change-Id: I50593edd316df33486d208abdb2d1019403a53ae
2019-01-30 00:02:51 -08:00
nshrivas
ddb33f9cbb Release 5.2.0.117N
Release 5.2.0.117N

Change-Id: I5da360b123b553ea7e4b02638c6ecafd8b93b909
CRs-Fixed: 774533
2019-01-29 21:47:16 -08:00
Jeff Johnson
5c68c5b672 qcacld-3.0: Use new vdev_id field in struct add_ts_param
Change I93743c3b1e3180589a3af83ed9e51d8dc95324d9 ("qcacmn: Rename
sme_session_id in struct add_ts_param (1/2)") introduced a new name
for the sme_session_id field in struct add_ts_param, so use the new
name, vdev_id.

Change-Id: I84b21c14b9254996ff034de8786838e89bc52b38
CRs-Fixed: 2384158
2019-01-29 21:47:16 -08:00
nshrivas
50c008a448 Release 5.2.0.117M
Release 5.2.0.117M

Change-Id: I2c19f01c2e491ad36b0a5bb089767c8485df806c
CRs-Fixed: 774533
2019-01-29 19:39:01 -08:00
Dustin Brown
693b535094 qcacld-3.0: Integrate DSC (vdev create/destroy)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

As part of integrating the DSC APIs into HDD, protect vdev create and
destroy.

Change-Id: I005589da96ed0cdd5f9026ad86dc18a4898b7cdf
CRs-Fixed: 2388123
2019-01-29 19:39:00 -08:00
nshrivas
2774eb92c4 Release 5.2.0.117L
Release 5.2.0.117L

Change-Id: Ife49281b7aa63c70e1fd12d5e66dd07ca1152be5
CRs-Fixed: 774533
2019-01-29 16:54:28 -08:00
Arif Hussain
770477fde7 qcacld-3.0: Fix null pointer dereference stats event handler
Fix possible null pointer dereference while handling
WMI_REPORT_STATS_EVENTID from firmware.

Change-Id: Id8b4f7c26bbae428cd7bc6f2f88b5bd72fd27284
CRs-Fixed: 2380746
2019-01-29 16:54:27 -08:00
Abhishek Singh
5b454911cb qcacld-3.0: Reject SAP channel change req only in connecting state
Channel change req for SAP is rejected even when STA is waiting
for key. In case of force SCC, if STA is connecting to security
profile, During SAP channel change STA is waiting for key and
thus force SCC is rejected.

Fix is to reject the SAP channel change only when STA is in
connecting state.

Change-Id: I7ff8ed8487ec8d996f9fb4b1ffe2ac303ba235df
CRs-Fixed: 2388842
2019-01-29 16:54:21 -08:00
nshrivas
ac1a3205d1 Release 5.2.0.117K
Release 5.2.0.117K

Change-Id: I94b7495eaf26ccae098c9b325eb041309f7c2b76
CRs-Fixed: 774533
2019-01-29 14:31:50 -08:00
Dustin Brown
4738d472f0 qcacld-3.0: Change hdd_vdev APIs into hdd_vdev_sync
The hdd_vdev APIs recently picked up the capability to atomically lookup
a dsc_vdev by net_device pointer key and start an operation. This lookup
mechanism is also useful for controlling transitions, so extend the
concept there as well. Additionally, add create and destroy APIs to
allow for keeping all of the DSC abstraction in one place. Finally,
rename the hdd_vdev APIs to hdd_vdev_sync to better convey their intent.

Change-Id: Ic4b6c6991b1ddce5afa54ab2207628c864bc240b
CRs-Fixed: 2385667
2019-01-29 14:31:50 -08:00
Wu Gao
0bdcbed515 qcacld-3.0: sta interface supports to tx p2p action frames
Required sta interface to support to tx p2p action frames, this is
part of customer requirement.

Change-Id: I1ebebce4d70dcba34427bb2276cd3e1cc23c2bd8
CRs-Fixed: 2388414
2019-01-29 14:31:45 -08:00
hangtian
2b9856fdde qcacld-3.0: Bind ol_rx_thread to perf CPU
When RX_PERFORMANCE is set, bind ol_rx_thread to perf CPU.
Do not update tdls stats and acquire rx_wakelock while
throughput is high, to avoid station drop packets caused
by slow process of ol_rx_data_cb(hdd_rx_packet_cbk).

Change-Id: I411f5ce67b04a70b194b0e8a7f8014b9c2c9bef7
CRs-Fixed: 2373936
2019-01-29 14:31:39 -08:00
nshrivas
887e8cff06 Release 5.2.0.117J
Release 5.2.0.117J

Change-Id: I11b3f0326fce2fa3b529ea8373b1be028590746c
CRs-Fixed: 774533
2019-01-29 09:57:57 -08:00
Tiger Yu
8379575967 qcacld-3.0: Don't enable the scatter-gather feature for HL solution
The HL solution doesn't support the scatter-gather feature.
Only enable the scatter-gather feature when FEATURE_SG is set and
CONFIG_HL_SUPPORT is not set.

Change-Id: I221fd0fee0b83e30ed245f6b7ce2888d438be1e4
CRs-Fixed: 2341654
2019-01-29 09:57:56 -08:00
yuanl
69575bb089 qcacld-3.0: Design change for TSF output in file system feature
This change is requested on adrastea arch with Qtime as the time
metric for TSF, change TSF/Host to TSF/QTime.

Change-Id: I6d46f970933db0be8b3aeb458b287108896b0630
CRs-Fixed: 2387438
2019-01-29 09:57:52 -08:00
Harprit Chhabada
31e3e168b3 qcacld-3.0: clean up max scan count CFG/INI
Clean up CFG_MAX_SCAN_COUNT CFG CFG item.
Remove ini for max_scan_count. Use WLAN_MAX_ACTIVE_SCANS_ALLOWED
to initialize max_scan_count and send to firmware.

Change-Id: I52e07b63a82297d30f2532bc5a8e05004877b141
CRs-Fixed: 2382308
2019-01-29 09:57:48 -08:00
Wu Gao
9a94b4e7c6 qcacld-3.0: Cleanup legacy cfg related files
Since all wni cfg is refactored based on legacy new cfg framework, no
legacy cfg files is needed now. Cleanup related files in this change.

Change-Id: If46ae4c59f1010a655aa65e3502fc0c660e33cdc
CRs-Fixed: 2383387
2019-01-29 09:57:44 -08:00
nshrivas
a2e1086fdc Release 5.2.0.117I
Release 5.2.0.117I

Change-Id: Ibe5b2bdfff04ab1ceca001b637b6bc09438c3047
CRs-Fixed: 774533
2019-01-28 14:37:42 -08:00
Dustin Brown
8c0b5e36ca qcacld-3.0: Mitigate Rmmod/SSR deadlock
The platform driver will not allow the WLAN SoC to be removed if a
firmware down indication has been received. However, the firmware down
indication can be received in a hardware interrupt context, and so must
never block. This makes it impossible to add appropriate synchronization
to the firmware down indication handler. This all culminates in a
situation where any check to see if recovery is in progress by the WLAN
driver during rmmod will always be racy and be susceptible to deadlock.

Move remove outside of the protection of the rmmod transition, instead
protecting remove with its own transition. This relies on the platform
driver to do the serialization with recovery itself, removing the
recovery-in-progress check from WLAN.

This fix is _not_ multi-SoC compatible. However, the current platform
driver/wlan driver interface is not multi-SoC compatible either. When
this API is reworked to add multi-SoC support, this issue will need to
be revisited.

Change-Id: Iec28e822182e698427bb40fe1d7e1b39e9ddfc8b
CRs-Fixed: 2388039
2019-01-28 14:37:41 -08:00
Pragaspathi Thilagaraj
9e61908e57 qcacld-3.0: Driver changes to accumulate kernel changes related to FILS
With kernel version 4.19, a new structure
cfg80211_fils_resp_params is introduced for fils parameters in
the existing structure cfg80211_connect_resp_params. The
functions hdd_populate_fils_params and hdd_connect_done use
cfg80211_fils_resp_params as argument for modifying the fils
parameters. This causes compilation issues with 4.19 kernel.

Add changes to accumulate cfg80211_fils_resp_params structure
addition from 4.19 kernel.

Change-Id: I71e1084a190b1b089c132c5f3916c22691ba674e
CRs-Fixed: 2386259
2019-01-28 14:37:37 -08:00
Alok Kumar
604b033e71 qcacld-3.0: Send peer unmap conf based on peer unmap count
Send the peer unmap conf commnad to FW for a peer_id only if
UNMAP for that peer_id is received either for three times if
RFS is enabled or one time if RFS is not enabled.

Change-Id: Idba2c406f7ad7d770fe8326e8a0d6ac7fab10252
CRs-Fixed: 2387480
2019-01-28 14:37:34 -08:00
nshrivas
3fe3ca13ea Release 5.2.0.117H
Release 5.2.0.117H

Change-Id: I3d9e6b720c81cc99a6554af5f184bcfdc211695e
CRs-Fixed: 774533
2019-01-28 04:09:16 -08:00
Karthik Kantamneni
205482978d qcacld-3.0: Fix compilation issue when ROAM_OFFLOAD disabled
When ROAM_OFFLOAD feature is not enabled facing compilation issue for
smk_get_pmk_inf() api, adjust or move api to header file to resolve
compilation error.

Change-Id: I3eb03657f8ee5a68fa25f0d99a4dddc44cbaac02
2019-01-28 04:09:13 -08:00
nshrivas
6f997c1dd3 Release 5.2.0.117G
Release 5.2.0.117G

Change-Id: I7ab8754ea2cf4965114e30965b8edcf96e186a58
CRs-Fixed: 774533
2019-01-28 01:57:15 -08:00
Jingxiang Ge
03e2b59544 qcacld-3.0: Fix buffer overwrite problem in GETIBSSPEERINFO
If (length + 1) is greater than priv_data.total_len then copy_to_user
results in writing more data than the buffer can hold.
Fix this by writing mininum of (length + 1) and priv_data->total_len.

Change-Id: If0c74b3c6c76ee3ca296fd8e0e844b9c53c30498
CRs-Fixed: 2386056
2019-01-28 01:57:14 -08:00
Dustin Brown
b4260d5e38 qcacld-3.0: Simplify pre-cac flush prevention
Change I875c2f14ffd54272fc9ea0df1cecc6dd1171e310 introduced an elaborate
workaround to prevent the pre-cac work from flushing itself during stop
adapter. Introduce a less complicated work around by simply checking if
the current adapter is the pre-cac adapter before flushing the pre-cac
work.

Change-Id: Ib3e0716f8d088d124e960dcd724f579fb39a3d74
CRs-Fixed: 2387173
2019-01-28 01:57:10 -08:00
Wu Gao
ff39f5f03c qcacld-3.0: Correct judgement about roaming dfs channel flag
It will ignore dfs channel since checking the flag of roaming dfs
channel wrongly.

Change-Id: I7c4ee9c12d42b7c8351ff81c389adba83eac0f26
CRs-Fixed: 2385147
2019-01-28 01:57:06 -08:00
Jianmin Zhu
ca0baaad8a qcacld-3.0: Remove legacy code of CONFIG_SERIALIZATION_V1 part
Remove g_self_recovery_stats and WE_GET_RECOVERY_STAT
Remove configs of CONFIG_SERIALIZATION_V1 part

Change-Id: I82e72f22215b8794517410e0b8892b5adadcf457
CRs-Fixed: 2386839
2019-01-28 01:57:02 -08:00
nshrivas
fd8360c183 Release 5.2.0.117F
Release 5.2.0.117F

Change-Id: I62db8c677048e10b7d129b69188af21af855e807
CRs-Fixed: 774533
2019-01-27 23:23:11 -08:00
hangtian
ca83cca3d0 qcacld-3.0: Fix TDLS HT Cap channel width
Fix TDLS HT Cap channel width, select supportedChannelWidthSet based on
channel bonding settings for each band.

Change-Id: I89bae8bfb3d193da5e7165480447bc7471f93d06
CRs-Fixed: 2380598
2019-01-27 23:23:10 -08:00
nshrivas
0c9aebb495 Release 5.2.0.117E
Release 5.2.0.117E

Change-Id: If3746eead93474fb5ae578fc3ffd4e7b96fba3a6
CRs-Fixed: 774533
2019-01-27 19:40:51 -08:00
Pragaspathi Thilagaraj
8b12fbe756 qcacld-3.0: Update phymode during channel width updation
When roaming is completed if the phymode of the target AP is
different from current phymode, then firmware will have updated
phymode and host driver will have older phy mode. The host driver
will update the opmode when new opmode is found over beacon or
vht opmode action frame. During opmode updation over
wma_process_update_opmode(), phymode is also sent to firmware.
As the phymode on the host driver is not updated to new value
after roaming and there will be mismatched phymode sent to
firmware. Firmware will not be able to handle this and asserts.

With current design, the channel width and frequency are updated
to wma interface on roam synch complete. Fix is to update the
phymode also after roam synch complete is received to wma iface
based on the new channel width updated.

Change-Id: I54aec080f53d3b49a309f9cb66553ec7c1805c50
CRs-Fixed: 2380456
2019-01-27 19:40:50 -08:00
nshrivas
286e7a3c53 Release 5.2.0.117D
Release 5.2.0.117D

Change-Id: I9495c70a0b75712b8f18c4ba0a1d7118a0d5507e
CRs-Fixed: 774533
2019-01-26 19:58:51 -08:00