Commit Graph

14370 Commits

Author SHA1 Message Date
Jeff Johnson
85982a5e13 qcacld-3.0: Remove alternateChannelId from assoc structs
Structs sSirSmeAssocCnf and sSirSmeAssocIndToUpperLayerCnf both define
an alternateChannelId field. For both of these the field is written
but not read, and hence that usage is pointless. Since these fields
serve no purpose, remove them.

Change-Id: Icae506f3d9baea0c44896cc7dc69897bbdc236d2
CRs-Fixed: 2392273
2019-02-03 22:12:25 -08:00
Jeff Johnson
1305f69e54 qcacld-3.0: Remove "alternate bssid" from assoc structs
Structs sSirSmeAssocCnf and sSirSmeAssocIndToUpperLayerCnf both define
an "alternate bssid" field, but only one of them is actually used. And
even there the field is written but not read, and hence that usage is
pointless. Since these fields serve no purpose, remove them.

Change-Id: I0591ac51d724c8195cf3dda75609a46429676bfd
CRs-Fixed: 2392272
2019-02-03 22:12:21 -08:00
nshrivas
856485b5af Release 5.2.0.118
Release 5.2.0.118

Change-Id: Ic009901f3e9f9cdc3d8daf43e511812e2485d1ce
CRs-Fixed: 774533
2019-02-01 20:11:45 -08:00
Dustin Brown
d01590f457 qcacld-3.0: Update hdd_vdev_sync to use device
The hdd_vdev_sync APIs currently use wiphy as a proxy for a PSOC.
However, hdd_psoc_sync has recently moved to keying off of device.
Update the hdd_vdev_sync APIs to match by using device instead of wiphy.

Change-Id: I50d2597fd96a7a09dfa32152b00106b8ee7ab51a
CRs-Fixed: 2392093
2019-02-01 20:11:44 -08:00
Dustin Brown
f0f00615ee qcacld-3.0: Migrate psoc ops to hdd_psoc_sync
As a follow up to migrating PSOC transitions to the new hdd_psoc_sync
APIs, migrate PSOC operation protection as well.

Change-Id: Ia22072f5dbd43d629102975fe370d79b6689575c
CRs-Fixed: 2392092
2019-02-01 20:11:40 -08:00
Dustin Brown
cfcb5762f6 qcacld-3.0: Migrate psoc transitions to hdd_psoc_sync
With the recent addition of hdd_psoc_sync APIs, DSC use is abstracted
behind a common interface for PSOCs. Begin migrating HDD to the new
interface by updating PSOC transitions to use the new APIs.

Change-Id: Ia9102d906dc0c699719a05726b47def7a00e925c
CRs-Fixed: 2392091
2019-02-01 20:11:36 -08:00
Dustin Brown
b7cad141e4 qcacld-3.0: Add hdd_psoc_sync APIs
To bring HDD PSOC synchronization in line with recent VDEV enhancements,
add hdd_psoc_sync APIs. These allow for atomically looking up a psoc
synchronization context via device pointer, and protecting various call
flows via DSC primitives.

Change-Id: Iacc62454f0ca2c8f2098384f16d98713a4373361
CRs-Fixed: 2392089
2019-02-01 20:11:32 -08:00
nshrivas
234ac6ca99 Release 5.2.0.117Z
Release 5.2.0.117Z

Change-Id: I0f2fea01a90c4d16b1bd9a375f6384a515e7bf43
CRs-Fixed: 774533
2019-02-01 16:01:44 -08:00
gaurank kathpalia
0c48d3d640 qcacld-3.0: Replace WNI dot11 mode with mlme dot11 mode
As part of CFG ini convergence, remove the macros of WNI
and replace them with the new enums of mlme dot11 mode

Change-Id: Ib7fbf480aa067d02690eb1448c74fcc083d94c59
CRs-Fixed: 2389401
2019-02-01 16:01:43 -08:00
nshrivas
8fc31149e4 Release 5.2.0.117Y
Release 5.2.0.117Y

Change-Id: Ifa66a1683b573d664be02c45989519d8ed7d11c8
CRs-Fixed: 774533
2019-02-01 05:54:29 -08:00
Bala Venkatesh
03b4f0cb34 qcacld-3.0: Delete the pe session only for STA role
While processing deuath notification in lim, PE session is deleted
without checking the session role. For AP case, if the deauth
notification is given to BSSID then also pe session will be deleted
and later clean up of the SAP will not be done properly.
Hence, for SAP case delete the pe session as part of del bss
response only.
Here the scenario is SAP's BSSID is blacklisted and acl command
is given via IOCTL. This triggered the deauth notification to lim,
and pe_session is deleted. Later, the del sta command is failed
because del bss has not happened and vdev delete also not done.

Hence delete pe session only for sta mode in lim_send_sme_deauth_ntf.
And return failure status for iwpriv softap.0 modify_acl command
if it is given for SAP's own mac address.

Change-Id: I2b394ae8676fe569537b416388a9566f2d35892a
CRs-Fixed: 2388404
2019-02-01 05:54:28 -08:00
nshrivas
4766dbbf62 Release 5.2.0.117X
Release 5.2.0.117X

Change-Id: I370b498edc3e5e79c5a1e5cd5e51fd745891c8a1
CRs-Fixed: 774533
2019-02-01 00:41:34 -08:00
Kiran Kumar Lokere
eb168a555e qcacld-3.0: Fix LDPC disable issue in HE mode
Check peer and self HE capabilities for LDPC coding and set
the configuration to FW only if both self and peer HE LDPC
capability is set.

Change-Id: Ib462b5ab373062182fce970ffc8b5c0fc6906ded
CRs-Fixed: 2379298
2019-02-01 00:41:33 -08:00
nshrivas
82ee5db9ea Release 5.2.0.117W
Release 5.2.0.117W

Change-Id: I9434fe9f1cd55ec56b44ea149b08f0670535105d
CRs-Fixed: 774533
2019-01-31 19:58:29 -08:00
Wu Gao
7067513825 qcacld-3.0: Cleanup legacy code of cfg CFG_ENABLE_LFR_SUBNET_DETECTION
CFG_ENABLE_LFR_SUBNET_DETECTION refactored based on new cfg framework,
related legacy codes unused, so clean it up.

Change-Id: Ica0cae4fa12fd560ebe30182bd1d4831ac1a99f5
CRs-Fixed: 2391310
2019-01-31 19:58:28 -08:00
Manjunathappa Prakash
666898ec74 qcacld-3.0: ndo_select_queue support for 4.19 kernel
In the 4.19 Linux kernel, the ndo_select_queue function signature has
changed. Add support for it under kernel version compilation flag.

Change-Id: Ie396d79ae9642a24d99aeda6f82def310f2115d8
CRs-Fixed: 2389052
2019-01-31 19:58:24 -08:00
Manjunathappa Prakash
7114007b35 qcacld-3.0: converge STA and SAP ndo_select_queue net_device_ops
Converge on STA and SAP ndo_select_queue net_device_ops implementation.

Change-Id: Ia8d5177be3718a52d5c2eabaf83212c3a864d679
CRs-Fixed: 2389052
2019-01-31 19:58:19 -08:00
nshrivas
3abf57b44e Release 5.2.0.117V
Release 5.2.0.117V

Change-Id: Ibd40b9bfb3f24a8615785823239be08829b7ada4
CRs-Fixed: 774533
2019-01-31 17:30:06 -08:00
Sandeep Puligilla
efeb4a9451 qcacld-3.0: Refactor CFG item
Refactor CFG item CFG_ENABLE_UNIT_TEST_FRAMEWORK

Change-Id: Ie140e79ced10d034a6f3832b869c8c9aba21170f
CRs-Fixed: 2381032
2019-01-31 17:30:05 -08:00
Yeshwanth Sriram Guntuka
7f445f46e1 qcacld-3.0: Do not invoke gratuitous_arp_unsolicited_na API
Do not invoke cfg80211_is_gratuitous_arp_unsolicited_na API
for kernel version greater than 4.6 because the functionality
is implemented at higher layer in TCP/IP stack.

Change-Id: I0b04b44b9fa9961bd917edbe09396546392c08bc
CRs-Fixed: 2390950
2019-01-31 17:29:59 -08:00
Yeshwanth Sriram Guntuka
1c555fc687 qcacld-3.0: Disconnect STA interface if it is on indoor channel
If force scc is enabled for STA+SAP concurrency and SAP not allowed on
indoor channels then STA should be disconnected first if it is on indoor
channel before starting the SAP.

Change-Id: If0985b559030b44834df851e170f320c7f942036
CRs-Fixed: 2189793
2019-01-31 17:29:54 -08:00
nshrivas
611b50523e Release 5.2.0.117U
Release 5.2.0.117U

Change-Id: I1c00bfe1ce202950ec3be49a8c2a80334b20eacd
CRs-Fixed: 774533
2019-01-31 02:45:34 -08:00
chenguo
90c6846477 qcacld-3.0: Set nbuf to NULL in error handling of wma_tx_packet
The caller of wma_tx_packet does not need to check if nbuf becomes
to NULL to decide if the nbuf free is needed. It is the designing
job of wma_tx_packet to free it if there is something wrong. Fix
one of the double free issue in ADDBA response transmission.

CRs-Fixed: 2379912
Change-Id: I944dea72a72cf9d937a72a3e0a31bbad88c8694d
2019-01-31 02:45:33 -08:00
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