In lim_handle_csa_offload_msg(), mac->scan.countryCodeCurrent is
passed in regulatory API wlan_reg_dmn_get_chanwidth_from_opclass
to get the opclass. mac_ctx->scan.countryCodeCurrent is no more
updated after the regulatory componentization so get country
using wlan_reg_read_current_country() instead of it.
Change-Id: Ic56e4bf33784fa5f64aedd431ebe41275a7666b2
CRs-Fixed: 2742068
In case of pre-cac as part of pre-cac vdev delete the whole
mac_ctx->sap is zero in sap_clear_global_dfs_param() and thus the
loop for mac_ctx->sap.sapCtxList always return null sap ctx. Due
to this if radar is dedected on the original SAP, the vdev switch
to new channel is ignored.
Also in case of radar detection if SAP moves to 2.4ghz, the HW mode
change is not attempted and thus vdev restart fails on 2.4ghz if HW
mode is not DBS.
Thus dont reset the mac_ctx->sap in sap_clear_global_dfs_param() and
add check if HW mode change is required when channel change due to
Radar detection.
Change-Id: Id44a0ddbbb20035412b0c039c12f7f59f2c37f1a
CRs-Fixed: 2753029
Take care to update the EAPOL Tx frame DA with AP mac addr if
DA is broadcast address as EAPOL BC doesnot make sense.
Change-Id: Id58b7b7971f5a7c11de0b46c6189a6e6ad1917ab
CRs-Fixed: 2745826
Scenario:
(1) vdev0 is running RX traffic, vdev2 is doing vdev detach, vdev2
will send RX_VDEV_DEL_EVENT to dp thread, but if dp thread is slow
to process thread queue frame in dp_rx_thread_process_nbufq(),
like if Kasan is enabled. RX_VDEV_DEL_EVENT will be delayed and
vdev2 corresbonding stack queue frame can not be flushed
before net_dev is freed, later will hit panic.
(2) vdev2 detach set rx_thread->vdev_del_event but not be
cleared due to qdf_wait_single_event() timeout, later vdev2
attach/detach again, this time as rx_thread->vdev_del_event
is not cleared so it will skip waiting dp thread, vdev2 realted
net_dev freed before dp thread do napi_gro_flush.
solution:
(1) reset rx_thread->vdev_del_event before wait this event.
(2) Increase DP_RX_THREAD_WAIT_TIMEOUT to 1000 ms.
Change-Id: Ibc1d761be3588fc3ee6c383b8779f56b2c9f17cd
CRs-Fixed: 2736887
When vdev response timeout happens from the firmware, vdev will
be logically deleted in the host and peer won't be deleted in
host and firmware. To catch these scenarios early on stages,
trigger self recovery when vdev delete response timeout happens.
Change-Id: I63d7b8aa315ba0b6a0e4bab60c2db535d99285ba
CRs-Fixed: 2754602
For channel switch event, the kernel expects the
center_freq1 contains the channel center frequency
of 160MHz. Use the the mhz_freq_seg1 of chan parameter
to fill the kernel struct.
Change-Id: I4ad7cb2a0a1f93f324b9afb63493888984006194
CRs-Fixed: 2744698
Add new code to implement below functions for connection manager
roam part:
And below two RSO command related process:
ROAM_SCAN_OFFLOAD_STOP
ROAM_SCAN_OFFLOAD_UPDATE_CFG
Change-Id: I378b969ddae77fff49ad1d4d8ce21764b292e5ac
CRs-Fixed: 2753011
The Tlv of the hang data is reduced to 2bytes from the 4bytes
change the structure definitions accordingly.
Change-Id: Ic535a7b985d028076d14afebe603dfa3fd8e94d3
CRs-Fixed: 2753804
Un-initialized use of boolean variable 'is_host_pdev_id'
of struct pdev_params is causing wrong remapping of pdev_id
before passing it down to fw with WMI_PDEV_SET_PARAM_CMDID
resulting in unexpected behavior in fw.
Fixing this by initializing pdev_param, instance of struct
pdev_params to zero.
Change-Id: I2e6333c966d602cd4dcc72749dca23a48097028a
CRs-Fixed: 2747575
Update the Punctured Preamble Rx support only from 5G band device
capabilities.
Change-Id: I5bd357a66abb5429d8bf059660bd53864b4f1956
CRs-Fixed: 2749061
In commit I5aa50145fcd3ba91b1c92d4817b7f0e4fc216e3f for FT-SuiteB
case Memory is allocated for GTK/IGTK in wlan_parse_ftie_sha384
while parsing the FTIE in Assoc/Reassoc response but it is not
freed properly.
This change does the respective mem free wherever required.
Change-Id: I59ccdd234efd2ee693b05426e62d3c2422fb5326
CRs-Fixed: 2747641
Currently, shutdown notifiers are purged after closing WMA and
PE modules. If there is an SSR in between these modules close
and purging the shutdown notifiers, SSR sequence will try to
access the timers that are already freed in modules close.
To avoid this, purge shutdown notifiers before closing WMA and
PE modules.
Change-Id: I6a192b11d0f99c93c70bd244072bec353327d843
CRs-Fixed: 2745954
Move the lim_default_hmac_sha256_kdf() & lim_create_fils_rik()
API to crypto component since both these API are primarily for
cryptographic derivation of re-authentication integrity key(rIK)
Use the new crypto APIs qdf_default_hmac_sha256_kdf(),
wlan_crypto_create_fils_rik() for this.
Change-Id: I22c20b13f46c13a34a2c4fd2ea7490f9a1441d21
CRs-Fixed: 2752632
If rmmod is in progress, return -EAGAIN for idle shutdown such that
cnss driver does not power off the soc and rmmod can succeed.
Change-Id: I91845da41bb666792a55aa3d446058025ce0fadb
CRs-Fixed: 2751194
During the module initialization the scheduler thread and the
init thread run in parallel if there is a failure in the error
path, the scheduler thread is not aware and still sending
the messages to firmware resulting in system instability.
Disable the scheduler as soon as there is an error in the init path.
Change-Id: I50546a84cbfed86a0bdd6e4e38ede411f4e924d2
CRs-Fixed: 2742025
Fixing the failure of set_quota feature for IPA stats,
currently calling set_quota during resource_loading, but
it is supposed to be called if resource_loading is false.
This is causing IPA stats set_quota feature is getting
failed for Adrestea targets and fixing the same.
Change-Id: I95ad60a8e15f4faaea34093785422ad494ee1fb4
CRs-Fixed: 2730655
WMI handler is registered for twt_session_stats event.
Upon wmi event twt session parameters are extracted and
cached in peer mc_cp_stats. UMAC APIs are provided to
retrieve TWT session parameters from north bound
interface(hdd) using twt peer's mac_addr/session dialog_id
CRs-Fixed: 2730732
Change-Id: I8ce38ac6be97e844e26e03751c6d6cca981b82b4
When DFS channel is used WMI_VDEV_TSF_TSTAMP_ACTION_CMDID is
sent to fw before vdev is in up state. It leads the tsf capture
to enter into HDD_TS_STATUS_WAITING state as the fw returns
invalid tsf in the TSF report event.
The tsf capture has to be restarted to recover from this state.
Fix this by Calling hdd_stop_tsf_sync() while entering into CAC,
the subsequent call to hdd_start_tsf_sync() will restart the tsf
capture.
CRs-Fixed: 2750676
Change-Id: Ie2fdf719d4b57035bf6fcc11824a894a1e313e23
As the channel numbers are no longer unique use
wlan_reg_get_channel_state_for_freq() to get the
channel state and populate the valid channel list.
Change-Id: I182cea44c234cd0da2010f7b2c807b70c51cce85
CRs-Fixed: 2747949
Currently, stats over QMI features can only be disabled over build flags,
which is not flexible. Hence, add a CFG ini item to enable/disable stats
over QMI.
Change-Id: Idb27b712f8a831059dd6d6d12350533361d4d693
CRs-Fixed: 2752316
Directly dereferencing pointer beacon_xmit_ind before
null-checking, which may result in null pointer issue.
Meanwhile, measurement_idx should be checked to avoid
out-of-bounds read.
Fix is to check before dereferencing it.
CRs-Fixed: 2751550
Change-Id: I5241b3b16fcd9a04da121fd938b27d4070ea4e06
Size of rsn_caps/mlme_ht_capabilities_info/mlme_ht_ext_cap_info are 16bit,
mlme_ht_param_info is 8bit, it casts the pointer type to (uint32_t *) to
get a 32bit value, which results in out-of-bounds read.
The fix is to cast according to the size of the original type.
CRs-Fixed: 2752734
Change-Id: I20131b8539157f30471723d7211fbf8b209c494f
Currently there is no check for WLM latency manager support,
while setting the latency level which may lead to undefined behavior.
To address the above issue add a check for WLM latency manager support.
Change-Id: I03aebc1a87a5a40265eea1189503d73f35472644
CRs-Fixed: 2746738
For SAP on DFS channel, the PCIe link down should be prevented
so that HalPhy can access DDR memory to report Radar found event.
Change-Id: Ia256d5df4d59071830d09c3f4821d73196327128
CRs-Fixed: 2740443
In roam trigger print the driver doesn't include the current
RSSI threshold info.
Add the current rssi threshold value at which roaming was
triggerd in roam trigger logging.
Also refine the candidate AP blacklisting related prints.
Change-Id: I6d39851278081a728b74e036c22e8d302d7b7b4c
CRs-Fixed: 2752998