In FTM mode do not register callback with IPA driver
to check if IPA is ready.
IPA offload is not supported in FTM mode.
Change-Id: I9d36f3085db72d3ffe9e6080f422618f7a531c01
CRs-Fixed: 2772192
There is customer requirement that once wifi chip overheat,
we should switch the tx chain mask to 1X1 to cool down the
chip instead of halting the tx completely.
Add new INI gThermalMgmtAction to configure thermal mgmt action
with default 0. The valid thermal mgmt action INI value is defined
as enum thermal_mgmt_action_code. To set it to 3 -
THERMAL_MGMT_ACTION_CHAINSCALING to meet customer requirement.
Change-Id: I88b1237fae1f476ad9ff0e7b5a469ec314a42bf9
CRs-Fixed: 2765289
Pointers returned by wlan_ipa_get_iface API and
cds_get_context API are not NULL validated at few
places. Add NULL checks for these pointers to avoid
possible NULL pointer dereference.
Change-Id: I44f226c2ce97afd6ad2ff9cde5cd70d9d12bc3d2
CRs-Fixed: 2775197
To do SMMU unmap for IPA TX and RX doorbell registers, provide
soc handle and pdev id to CDP layer.
Change-Id: I6e4fcc7d96d3dabe9dcbb85b9d7193e898d9a73e
CRs-Fixed: 2768306
FW triggers roaming based on the RSSI score of AP(s) available
after background scan. Currently, the host does not configure
the value of bg_rssi_threshold RSSI. This results in ping-pong
roaming after background scan, even though candidate AP
RSSI is not better than 5dbm than connected AP.
Fix is to configure the value of bg_rssi_threshold via new
INI "bg_rssi_threshold" and configuring default value of
INI as 5dB.
Min: 0
Max: 100
Default: 5
Change-Id: Ib710e294c8b33ff4903d41453e3b55f02daf53ae
CRs-Fixed: 2763962
SAE Public Key (SAE-PK) authentication is an extension of SAE. Host adds
support for SAE-PK APs roam score which host uses to select AP for initial
connection and roaming.
Change-Id: Id8c420950bb8c1d11db5a26aa860e280bcb672d1
CRs-Fixed: 2769372
The BTC_CHAIN_MODE command policy table is missing its declaration in the
.h file. Add the declaration to resolve the compilation issues.
Change-Id: I5bdd54dc9c3488054bafabd772f4f8b375fe50fa
CRs-Fixed: 2773241
In function hdd_process_genie(), pointers like encrypt_type
and mc_encrypt_type should be validated before getting
dereferenced.
Add pointer validation before every dereferencing takes place.
Change-Id: Ib894153ddac3e75fae5e0e7798b705ac5951ea17
CRs-Fixed: 2775378
If the IV value is zero then some IOT APs fail to decrypt WEP AUTH frame
hence host gets random value of IV using qdf_get_random_bytes().
Presently host checks if the IV is non-zero value in "seed" which is local
uninitialized variable, static analysis tool reports an error "seed array
elements are used uninitiated".
In order to address both these issues, generate the IV using
qdf_get_random_bytes() first and if it is zero, then repeat
invoking qdf_get_random_bytes() until it is non-zero.
Change-Id: Ib211e58ebe21d49ab1dc693ee8a6cad9bfd25ae8
CRs-Fixed: 2775943
Move the rssi change vdev params initialization to
csr_neighbor_roam_info_ctx_init() so that vdev priv object will
be created and per vdev parameters are saved and proper values
are sent to firmware.
Change-Id: I87c8272d89f431fa3db60beed4d1da6d9790ec28
CRs-Fixed: 2774826
- Use sme roaming api's instead of converged
roaming api's.
- Add debug logs in if mgr api's.
- Fix typo in Kbuild file.
- Fix compilation errors.
- Fix comments for readability.
- Update disconnect functions so parameter type matches.
Change-Id: Ia0adf6f79036e9348bf4ebb6237a5e25ef813a21
CRs-Fixed: 2774509
This change fixes two issues about TDLS:
1. It updates current mode only if tdls vdev object is NULL.
2. Handles pre-scan callback but ignore scan done callback if device
type isn't station or P2P client.
Change-Id: I4badbf3a7c40eca813a6360817d5483be88f2c5d
CRs-Fixed: 2769638
Validate TWT setup request type value obtained from
user space, before sending down to fw
Change-Id: I820f4912bafb84b76583ac9ed1cd88f59ea9fb3d
CRs-Fixed: 2770628
For lithium based target, rx pktlog depends on monitor status ring
and this ring is reaped by timer in host. if host try to disable
pktlog and high DL T-put traffic is ongoing in parallel, there is
no guarantee that HW stop to update PPDU status to monitor status
ring after host stopped reaping timer, unless host add some delay
between HTT ring reset msg and timer stopping, then FW will have
enough time to reset ring configuration.
Since FW side has disabled pktlog and looks pktlog is not necessary
for lithium based target, remove pktlog support by macro
FEATURE_PKTLOG, macro REMOVE_PKT_LOG is not preferred as it will
remove WDI_EVENT support that impact CFR feature.
Change-Id: I723f65ba3d2ffa58469b886e6795956f69d4e891
CRs-Fixed: 2763095
ini string value of RPS,rpsRxQueueCpuMapList is directly
pushed in hdd_context->config->cpu_map_list. Default value
is set as "e". During RPS enablement,
hdd_hex_string_to_u16_array converts this string into u16
array which is used for cpu mapping of RX queues for RPS.
Change-Id: I352bf7c5b16f61e17d918ceec53b0bcd47eecfba
CRs-Fixed: 2761785
Add checks in caller APIs to handle negative return value from
crypto get param and crypto get peer param APIs.
Change-Id: Ibb138971f347c7ccdacbc93aa38521d5d9536759
CRs-Fixed: 2775328
The csr_enable_twt() returns true when the fw is 802.11ax
capable. This lead to failure of UAPSD even though the twt
requested mode is disabled throgh ini.
Fix the logic in the csr_enable_twt() to enable UAPSD when
the twt requester mode is disabled.
Change-Id: I5338b95b66312337d6b8befe700f31f3e214b7b1
CRs-Fixed: 2765999
Add the API to validate the BSS before roaming to it. This API will check
if other vdevs are already connected to the BSS, if concurrency is allowed,
and if channel is allowed for the current HW mode.
Keep the new changes under the interface_mgr feature flag.
Change-Id: I280e95b0a30c08fe4037295330628b79d22acf5f
CRs-fixed: 2774543
Host sets WMI_REQUEST_PMF_BCN_PROTECT_STAT bit in stats_id param of
WMI_REQUEST_STATS_CMDID command. Firmware supporting pmf beacon
protection stats responds host with stats in wmi_update_stats_id
event. Host extracts PMF beacon protection stats from wmi_update_stats_id
event. Host adds PMF beacon protection stats in the response of vendor
command QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO for STA mode.
Change-Id: Ib3cb06e03dbccdb9fa1782d414ed734bd97aa309
CRs-Fixed: 2705236
Currently, the APIs related to setting the preferred channel list is
in the SME module. Move these APIs to the policy manager so they can
be accessed from non-legacy modules.
Change-Id: Icc487dd2a0014e59db9c2df729b875f58e3e975e
CRs-fixed: 2766863
Add debug logs on the sending WMI_ROAM_SCAN_RSSI_THRESHOLD
/WMI_ROAM_FILTER_CMDID/WMI_ROAM_BTM_CONFIG_CMDID
/WMI_11K_OFFLOAD_REPORT_CMDID commands path.
If mawc roaming is not supported by firmware, don't send
WMI_ROAM_CONFIGURE_MAWC_CMDID command.
Add rssi reject AP list to the roam params process in function
csr_cm_roam_scan_filter().
Change-Id: I89e6dcac801e552877f7e918d1179dfa3466857a
CRs-Fixed: 2775101
Add pld_pcie_smmu_unmap API to support SMMU unmap of
addresses mapped in smmu_iova_ipa bank.
Change-Id: Idcb76a4f9d6573fb3f2c1fe22f6fbbe1728fa079
CRs-Fixed: 2768112
wlan_hdd_validate_context() function already takes care of logging
the caller function name in case of any error. Hence there is no need to
add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: Ia1f4a1a413249e10c40d7644e9ffb314e991b237
CRs-Fixed: 2769591
Set the latency of gold cores to default on clearing the
cpu_mask for gold cores. This ensures that power drain on
gold cores is minimal after gold core affinity is removed
after traffic reduces.
Change-Id: I4f17e9b9e36c57ac22a12e3abbc0155eef238a04
CRs-Fixed: 2764803
Add the support to dump software latency
manager statistics as a part of periodic
stats.
Change-Id: I22169979ecf3f78840086284432b94c5756edcf1
CRs-Fixed: 2769018
Currently for every packet transmission, the head
pointer register is updated. Each write corresponds
to one PCIe write.
Add the logic to coalesce the head pointer
register writes to reduce the PCIe writes. This
also helps in PCIe bus staying in low power states
for some more time and thereby reducing power
usage.
Change-Id: I10fe0499222fbcf94305c681008d12449cda5359
CRs-Fixed: 2769013
The 11g and 11a connections are latency critical and
hence tx coalescing cannot be applied on traffic
running for these connections.
Detect the latency critical connections and save the
number of latency critical connections in DP vdev.
This information can be used by the Software latency
manager to skip tx register write coalescing when there
is a packet transmission for low latency connections.
Change-Id: I2ebf40e670cc3139b2bc41a690c79ebb31c7b9c7
CRs-Fixed: 2769026
For users delete station request, host checks DFS CAC progress flag in HDD.
If DFS CAC progress is set, host doesn't send disassoc/deauth request to
LIM. Due to this peer instance in FW remains undeleted and host returns
success. On SAP vdev delete this peer instance in FW remains undeleted and
FW crashes. In LIM host already handles deauth/disassoc request if DFS CAC
is in progress. Hence remove DFS CAC in progress check from HDD.
Change-Id: I27953eac86fc4258ff764fb0ac8e6b95cb7ae99b
CRs-Fixed: 2773050
NDPs can exist on an NDI only when the NAN discovery is active.
Currently, firmware sends NDP_END indication for all NDPs when NAN
is disabled. Host driver removes the NDI entry from the policy mgr
based on these NDP_END indications. But firmware might miss to send
the NDP_END indication in some cases though the NDPs are deleted
in firmware. This leads to stale NDI entries in the policy mgr and
it prevents STA connections as NDI+STA without NAN discovery is not
a valid concurrency.
Host driver can remove all NDPs before sending NAN disable request
to firmware to avoid this. This is a blocking call in driver and
wait for the NDP_HOST_UPDATE event from firmware. Cleanup the policy
mgr entries in timeout case as well to avoid further failures due
to unsupported concurrency.
Change-Id: I8df905b7ae4cfe5dfb5affe5b6a3fd478851a453
CRs-Fixed: 2774329