The MDID is not updated in RSO command. So FT roaming
failure happens.
Update the MDID in RSO commands.
Change-Id: Ie68b379ab29c063c90d8461d0be34fd09a105e3f
CRs-Fixed: 2795319
During SSR with the new changes the stop adapter would be invoked,
this would free the scan ie's and will not be able to configured
after the SSR.
Free the scan ie's as part of the uninit which would be called as
part of the netdev down.
Change-Id: I781eefbf0ae7a9e64bc6cb2ead98f45919587f64
CRs-Fixed: 2724670
Issue: log level for some frequent prints is set to info
those logs would be present in dmesg as well as driver logs
and System performance may get affected due to excessive
logging.
Fix: Avoid redundant logs which may affect system
performance and change default log level to debug.
Change-Id: I025f4cfdc0931a3e5d9c6a7eed96240dba738211
CRs-Fixed: 2794313
A htt message arrived after ipa context is freed as part of
deinitialization which was dereferenced by event handler
assigned to pdev->ipa_uc_op_cb, resulting in crash.
To fix this, cdp function is called during deinit to
deregister pdev->ipa_uc_op_cb and assign it NULL. Also, adding
NULL check in wlan_ipa_uc_op_cb. Also, registering ipa_uc_op_cb
after work is created so as to not hit condition where work is
scheduled before creation.
Change-Id: Ib79136b1122625079d8173a401dba5516126c621
CRs-Fixed: 2794663
Validate the phymode before sending to firmware in
lim_set_ch_phy_mode()
Change channel mode check from MODE_UNKNOWN to WLAN_PHYMODE_AUTO
or WLAN_PHYMODE_MAX
Change-Id: If7f869b750c74f9782b066f7e92b2c94c29bcbb7
CRs-Fixed: 2792691
gOclCfg is no longer supported and is being overwritten by
FW init config. Thus, remove gOclCfg ini from code.
Change-Id: Idf4d5280043a47650a68dc2159c386d94b0be5e9
CRs-Fixed: 2791392
Hardware filters are supported for STA and P2P client modes only.
It's not supported/configured for NDI mode but the
WMI_HW_DATA_FILTER_CMDID is sent to firmware with disable flag
to flush the filter. Avoid sending it for NDI vdev.
Change-Id: I34d87a4d00138386affcedecd20b7ccc90fbd05e
CRs-Fixed: 2795980
Currently, if the TDLS timer expires while the scheduler thread
is processing something(e.g., station vdev destroy), the handler
would be in wait queue and it gets called once the scheduler
thread is done with its current task(i.e., vdev deletion).
TDLS handler tries to use the vdev even it has just got freed,
which leads to use-after-free.
This happens because of the below,
1. vdev destroy notification has no knowledge of the TDLS timer
expiry as timer_stop is used to stop the timer.
2. vdev is passed to TDLS handler as part of registration.
Fix:
1. Use timer_stop_sync in vdev_destroy_notification to make
sure the handler is posted to scheduler thread if the timer
had expired.
2. Get the vdev in handler from psoc instead of passing it to
the timer handler. This can make sure the vdev is referred
only if it exists.
Change-Id: I186fd0d44b2364ebb375a8445dd1239368543e7b
CRs-Fixed: 2792020
In SAP mode host checks OCV capability in self rsn capability and
peers rsn capability. If both self and peer are OCV enabled, then
host adds OCI IE in SA Query response.
Thus OCV enabled STA successfully connects to host(SAP) if OCV is
enabled.
Change-Id: Id9973f0b915c9aa7c4214165deafc081f5a7cb20
CRs-Fixed: 2789921
In internal builds, to catch all fw timeout issues, host-initiated
self-recovery is not enabled. To avoid a race between cld driver
triggering assert and RDDM dump collection, use the CNSS-provided
sync API, which guarantees target assert and dump collection before
returning.
Change-Id: Ib702bfa17616a100913f501f850d5c0b74ad39bb
CRs-Fixed: 2790271
Set nan_feature_config default as 0 from 1 in INI to have DW interval for
NMNS mode when device goes to suspend mode.
Change-Id: Ib0044ca36cba570f51edcc0006f8e54c55d673d3
CRs-Fixed: 2776238
Send unified ll_stats and get_stats request over qmi based on INI
configuration.
Change-Id: I0c8f9e6ccb7a4a1588a8086c610ab29f58dfdcd7
CRs-Fixed: 2791039
MC/BC packets are received with lro_eligible set to 1
in rx_pkt_rlvs. MC/BC packets are routed to firmware
and then re-injected back to REO. FW might modify
the reo_destination_indication in the descriptor which
can cause same flow packets to be received on different
REO2SW rings.
Fix is to skip fisa for multicast or broadcast packets.
Change-Id: If2ab7e3cbdf7839cfd0a4f1e5bf9da4712debc9b
CRs-Fixed: 2793877
Fix the error in smmu_enable condition check for IPA Tx buffer
and also add the flag to mark smmu map/unmap.
Change-Id: I1a9b768c6f17a76b7a857367f342ffbe82e48379
CRs-Fixed: 2793156
Currently, there is no provision for dynamic dwell time control in 6G.
Update existing driver commands SETDWELLTIME and GETDWELLTIME to
support 6G.
Change-Id: Ib9503d568ecefe993c37f28eb9de7024ffdc3e43
CRs-Fixed: 2789714
If the INI item enable_mod_dtim_on_system_suspend is set, then
set the bit WMI_WOW_FLAG_MOD_DTIM_ON_SYS_SUSPEND in wow flag
parameter.
Change-Id: I15a717bd5f5532dd2c8a6e27e5df8c28965da062
CRs-Fixed: 2789161
Add support to send MSCS add/change/remove types of Action frames
to the connected AP.
Change-Id: I12c28700007302fd1b1ff22edd23edb98c3bc144
CRs-Fixed: 2791794
With the existing design the panic is seen with the below
scenario.
1) As a part of country change, driver takes the dev_hold and proceed
with the adapter access.
2) In another thread, del virtual iface is called which calls the
unregister netdev. This kernel API(unregister netdev) calls the
hdd_hostapd_unint where the adapter->dev is set to NULL. After
this unregister_netdev waits for the dev_put as driver has
taken the dev_hold in 1). Till this dev_put happens
unregister_netdev will wait.
3) Once the adapter access is completed as a part of 1), driver
does the dev_put with the pointer dev which is made as NULL in 2).
To avoid this crash, don't set the adapter->dev to NULL in
hostapd unint.
CRs-Fixed: 2791420
Change-Id: I1f6252a44c061b697c8d640c5558350e91a47442
In STA+SAP mode, RPS is enabled only for SAP interface and
not for STA interface resulting in low throughput as STA RX
will also take the IPA path.
To fix this, enable/disable RPS when SAP is turned on/off
when IPA is enabled
Change-Id: I67c0da2fbbb43bd7b34969bbb05c1127e60d5673
CRs-Fixed: 2783136
Currently the roam scan scheme for each trigger is hardcoded to
either full scan or partial scan followed by full scan. Based on
the new requirement for home scenario,the user space configures
roam scan scheme for various triggers. Add support to send scan
scheme type for indvidual roam triggers enabled from userspace.
The default value of roam scan scheme can be modifed for
below roam triggers:
WMI_ROAM_TRIGGER_REASON_PER,WMI_ROAM_TRIGGER_REASON_BMISS,
WMI_ROAM_TRIGGER_REASON_LOW_RSSI,WMI_ROAM_TRIGGER_REASON_BSS_LOAD,
WMI_ROAM_TRIGGER_REASON_BTM
Change-Id: If8b185897b813afc44af362d31172705ea4d7b5c
CRs-Fixed: 2785233
Add support to handle the nl80211 attribute -
QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME. Send RSO update to
firmware if roam scan scheme value is received via the nl80211
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME over the
QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD subcommand.
Change-Id: If21281245097648380990b9218a722691279f598
CRs-Fixed: 2785256
User sends wfa test configs to host using vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION. Host parses the
vendor command and sends wfa test configs to FW using WMI command
i.e. WMI_WFA_CONFIG_CMDID
Change-Id: I5aa0bc8b0a0064828b48368e47d53a5ad5e7ff2f
CRs-Fixed: 2772013
If same FISA flow frames goes into different REO2SW rings, this will
introduce unexpected FISA behavior result in different issue.
Add assert for DEF build to catch this issue early then easy to
debug further, for PERF build, stop FISA aggregation if REO2SW ring
mismatch happened.
Change-Id: I5320133a9b289fe63a727ac2a5cf4c7c19c19224
CRs-Fixed: 2785871
When the FILS erp keys are available, the RSN IE is
not included in the assoc request as the function
lim_update_fils_config() returns always if rrk_length is
non zero. Fix this to return only if malloc fails.
Also add additional debugs for RSN IE not included in FILS
authentication frame and remove call to
wlan_cm_update_mlme_fils_connection_info() from
update_profile_fils_info().
Change-Id: I75cc1b04c2fdcbf3e7c55dfac41254a2378233bb
CRs-Fixed: 2789793
Firmware sends a new status code to indicate an already suspended
TWT session. Handle this error code and return
QCA_WLAN_VENDOR_TWT_STATUS_ALREADY_SUSPENDED to userspace.
CRs-Fixed: 2786986
Change-Id: I7111128c908c14058e5ed0ef94c2eabc778d38bb
When channel Switch is happening and north bound disconnect is
also initiated at same time before vdev restart response is
received, the disconnect command will be activated by serialization
module but the eWNI_SME_DEAUTH_REQ message to lim was deferred.
The deferred message queue at lim was not processed as there was
no wmi command response received.
So process the deferred messages after the gLimProcessDefdMsgs
is set to 1.
Change-Id: I8200407663857349ea2eef0924fe1c345fab8028
CRs-Fixed: 2789632
Remove SIR_HAL_HIDDEN_SSID_RESTART_RSP and
WMA_HIDDEN_SSID_RESTART_RSP as they aren't used
anywhere.
Change-Id: I89b70786cfc40ad7c781d3ad7e058edcaadfa127
CRs-Fixed: 2791880
The HAL msg type that were defined as macros are converted
to enum halmsgtype. This is done as it is difficult to parse
macros directly in any post processing script.
Since, driver maintains a global list of messages (qdf trace)
which different modules posts to each other. For processing
these list of messages in a common post processing script,
it is required to convert the macros to enum as enum are
easy to process in the script.
Change-Id: I3938ff02a54a2fca9e831ea1f8d9389e8b54df01
CRs-Fixed: 2719659