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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
Fix possible null pointer dereference while handling
WMI_REPORT_STATS_EVENTID from firmware.
Change-Id: Id8b4f7c26bbae428cd7bc6f2f88b5bd72fd27284
CRs-Fixed: 2380746
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
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