In commit d217d19d7e ("qcacld-3.0: Add vendor cmd to support
antenna diversity") and commit 66831666b4 ("qcacld-3.0: Add
vendor attr to get rx aggregation statistics"), tHalHandle (pMac)
are passed by SME to WMA APIs that expect a tp_wma_handle.
To fix this, call cds_get_context() to get wma handle.
Change-Id: I01812b2390269805da4d1a5cb40a811d1e22ec56
CRs-Fixed: 2253253
Even though the bitrate is greater than zero, because of
incorrect conditional check, error log "Invalid bitrate" is
getting printed.
Hence, fix this by adding proper conditional check.
Change-Id: I2076c7a90e735e4a278f4d5894e51abc8bd091c0
CRs-Fixed: 2250687
Featurize fastpath feature cleanly and
also disable unused code when Fastpath
is enabled.
Change-Id: I3922af873ef32544fdca37be0b110ebbc2abc45a
CRs-Fixed: 2226918
qcacld-2.0 to qcacld-3.0 propagation
After station is associatied in VHT20, update station info
txrate bw field for VHT20 case when cfg80211_get_station is
triggered
Change-Id: Ia3547083d5f4fb031fd186234b2d13126d8a9712
CRs-Fixed: 2086316
The excess buffer check in wma_stats_event_handler is such that
if buflen is greater than WMI_SVC_MSG_MAX_SIZE, the resulting
difference of the two values will be a negative integer, which
will be treated as a very large positive integer since the data type
is unsigned. This will result in the check failing to detect overflow
when compared with sizeof(*event).
Fix the buflen check condition such that buflen is compared with the
difference of WMI_SVC_MSG_MAX_SIZE and sizeof(*event), eliminating
the possibility of overflow.
Change-Id: Ic20bfa554476db36e28557402cec23fcce5af85d
CRs-Fixed: 2224443
qcacld-2.0 to qcacld-3.0 propagation
After station is associatied in HT20, when cfg80211_get_station
is triggered, update station info txrate bw field for HT20
Change-Id: Icc2c5f318d7812696202705edda17c7352f66fba
CRs-Fixed: 2121005
Add spectral scan feature flag which can be
used to control the feature through build options.
Change-Id: Ide13e958cffff610626c891041307b40ac94c47d
CRs-Fixed: 2232167
Reset the soc before htc_stop when failure in the cds_pre_enable to stop
the copy engine which might continue deliver the data to host after
cleaning up the destination ring buffers to avoid the poison overwritten.
Change-Id: I2ef111926af4a889f1ee005681d68eafba7e5564
CRs-Fixed: 2250860
A large function call parameter is passed by value.
Refactor the code to send the large function call parameter by
reference.
Change-Id: I0a29ee9df797e245a4960160c66053df7b834be3
CRs-Fixed: 2232908
wlan_hdd_sap_pre_cac_success run in the work thread
scheduled by sap_pre_cac_work.
But hdd_stop_adapter will call
cds_flush_work(&hdd_ctx->sap_pre_cac_work);
That means the work waits itself to finish.
The Fix is to add flag to hdd_stop_adapter
to identify the "stop" running in the work handler
and skip the "sync" cancel the work self.
Change-Id: I875c2f14ffd54272fc9ea0df1cecc6dd1171e310
CRs-Fixed: 2252085
Currently the function typedef wma_tgt_cfg_cb is defined with two void
pointer parameters. However the types of the two parameters are known
to both the sender and the receiver, so fully specify the types of
those parameters.
Change-Id: I7cf7178015084599061b123da7b5f1f453ec5353
CRs-Fixed: 2254954
Per the Linux coding style "mixed-case names are frowned upon" so
rename typedef tHddHandle to hdd_handle_t to align with the Linux
typedef naming convention.
Change-Id: I34849ed819b31564ca561a1718083793bf30a0a3
CRs-Fixed: 2254953
In pe_mc_process_handler() the mac_ctx is currently typecast to a
tHalHandle when calling pe_process_messages(). However
pe_process_messages() actually expects a tpAniSirGlobal, and the
typecast results in a build failure when strict type checking is
enabled. To fix the build failure remove the typecast.
Change-Id: Ie8a38845f0e2bf76205326a1b5fe7691a8f8de12
CRs-Fixed: 2254952
Turning on strict type checking flagged multiple of instances of
hal_handle being declared incorrectly, so fix them.
Change-Id: I8781c7e2839dcc3532b3aca066802db39f989e07
CRs-Fixed: 2254951
Currently hdd_pre_enable_configure() calls cfg_set_str() to update
WNI_CFG_STA_ID in the cfg database. Buf cfg_set_str() is an internal
MAC API which should not be called by HDD, and this code fails to
compile when strict parameter checking is enabled because HDD is
passing a tHalHandle to a function which expects a tpAniSirGlobal.
Update hdd_pre_enable_configure() to instead call sme_cfg_set_str().
Change-Id: Ic3f249f18319c3e54786938f76fe61b2af37f25f
CRs-Fixed: 2254950
Currently HDD is directly calling csr_roam_get_wpa_rsn_req_ie() and
csr_roam_get_wpa_rsn_rsp_ie(). That is a layering violation since HDD
should be calling SME APIs; CSR APIs are meant to be called by
SME. And SME already exposes two APIs which, in turn, call those CSR
APIs. However those SME APIs, sme_roam_get_security_req_ie() and
sme_roam_get_security_rsp_ie(), are defined to take an extra secType
parameter which is then unused. To clean up this mess modify the SME
APIs to have the same naming and parameters as the CSR APIs and update
HDD to call the SME APIs.
Change-Id: I0ba2f056e089818ab04a8d421e3d8c571e312831
CRs-Fixed: 2254949
Use upstream extended feature flag NL80211_EXT_FEATURE_DFS_OFFLOAD
for DFS offload support.
Change-Id: I26f4998c7760d8913d1311e459eb873685279681
CRs-fixed: 2233627
Currently sme_update_channel_list() is defined to take a
tpAniSirGlobal mac_ctx. However SME APIs are supposed to hide the fact
that they operate on tpAniSirGlobal and instead should be taking a
tHalHandle. Furthermore a tHalHandle is what is currently being passed
by HDD. Therefore update sme_update_channel_list() to take a
tHalHandle.
Change-Id: I2f424a6c11342470fd6885968d635109327be3f0
CRs-Fixed: 2254947
The CDS module currently has a mixture of directly using QDF_TRACE
(with an assortment of module IDs) along with using its own CDS
logging APIs. Update the module to consistently use just the CDS
logging APIs.
Change-Id: I5581c960d2b3c973246b44bda3b5bbb740ac3bf3
CRs-Fixed: 2251991
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pModuleContext & ppModuleContext.
Change-Id: Ib0c37fa2ec295da24cfcdfbf903c6ba121dec04b
CRs-Fixed: 2251989
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pGpModContext & pModContext.
Change-Id: I077cd7b7b3415c14549f02bb166ec31e79712b7b
CRs-Fixed: 2251988
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers moduleID & moduleId.
Change-Id: I1bda5cb9d0d57a5af072ed0eb61c7d8125dfd3cd
CRs-Fixed: 2251987
Per the Linux coding style "mixed-case names are frowned upon" so
rename field wmaCompleteEvent in struct cds_context.
Change-Id: I0b56daf9e387bbc96ddd2b0539ddefb16c82cca2
CRs-Fixed: 2250673
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pHIFContext in struct cds_context.
Change-Id: I023d61b0a26a6f4f35a46e5c04ab63b83182b846
CRs-Fixed: 2250672
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pWMAContext in struct cds_context.
Change-Id: Ia8fa98366d57ab2bf81549570ef7b1766e579a00
CRs-Fixed: 2250671
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pMACContext in struct cds_context.
Change-Id: I50007d80d12276b682237d728435203e455a18c9
CRs-Fixed: 2250670
Add new driver command to dynamically configure concurrent
active and passive dwell time parameters.
Change-Id: Ib758786349f8889600cab34609f5c7763fc36251
CRs-Fixed: 2230861
Remove incorrect check for WLAN_MAX_STA_COUNT. The callee
ol_txrx_get_vdev_by_local_id would do the correct check for
OL_TXRX_NUM_LOCAL_PEER_IDS.
Change-Id: I74f9996316cead165f40454c75145515e9c86a04
CRs-Fixed: 2247595
Add HDD flow pool map and unmap functions. These are registered
with the policy manager (via CDS) so that lithium_dp vdev flow pools are
created/deleted when vdev become active/not-active under the control of
the policy manager
Change-Id: I1ff6b3bafa78df68fbf9a221ac0d001bd5a06d8d
CRs-Fixed: 2240815
Currently the firmware supports FILS by default, and the
kernel and driver have dependencies on the kernel version
for FILS support. The PMK info i.e the PMK length and the
PMK itself is sent to the firmware as part of roam
scan offload params, and are filled from the PMK
received from the CFG layer via csr_roam_set_psk_pmk.
The PMK and its parameters are received via a vendor
command, and called via ops wlan_hdd_set_default_mgmt_key.
With the presence of FILS feature, the pmk is filled
via hdd_fill_pmksa_info(), which fills the PMK,PMK
length to the pmk_cache. It is called via ops
wlan_hdd_cfg80211_set_pmksa. But in the NON-FILS case,
the PMK, PMK length received from the CFG layer is NULL
and zero respectively, and hence the firmware which expects
a valid PMK and PMK length gets a PMK as NULL , and the
PMK length as zero, which will lead to deletion of the
pmk received earlier via vendor command, also a fresh 8-way
handshake from the HOST, rather than a 4-way handshake
from firmware if the PMK-ID for that particular AP(BSSID)
matches the PMK-ID in the AP.
Fix is to fill the params of PMK, PMK length in the NON-FILS
case too by copying the params received previously via the vendor
command, where the params are stored in the session itself.
Hence it will fulfill the requirement of the PMK, PMK len
from the firmware, and lead to a faster handshake process
while re-associating.
Change-Id: I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620
CRs-Fixed: 2243070
When acs_policy is enabled and STA is already up on some 5Ghz channel,
SAP is coming up on the same 5Ghz channel as expected but in 20Mhz even
when bandwidth given by hostapd is 80Mhz.
Start SAP on same channel as STA but in 80Mhz instead of 20Mhz.
Change-Id: Ie5dc06844f867d32796706cdcc190d1cb1b1d2fe
CRs-Fixed: 2196229
If in dot11f_unpack functions, check for integer underflow fails,
the function returns failure but does not set the present field
of the IE. This present field of the structure is used to check
if IE is present. So even if the unpack failed the IE structure
is considered valid.
Change-Id: I8f572db43a869e48a151ea37dc5b9a2c1fe34eea
CRs-Fixed: 2246426
Currently, the message type HTT_T2H_MSG_TYPE_RX_ADDBA and
HTT_T2H_MSG_TYPE_RX_DELBA is not supported as firmware is
no more sending this message to host.
Clean up the unreachable code for HTT_T2H_MSG_TYPE_RX_ADDBA
and HTT_T2H_MSG_TYPE_RX_DELBA message type.
Change-Id: I7a32fb53fec00e0507ef32d29494968188c98bfd
CRs-Fixed: 2226328