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
Required sta interface to support to tx p2p action frames, this is
part of customer requirement.
Change-Id: I1ebebce4d70dcba34427bb2276cd3e1cc23c2bd8
CRs-Fixed: 2388414
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
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
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
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
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
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
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
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