Don't connect in HE mode if the AP operating in 2.4 GHz does not
support LDPC coding.
Also, some peers which operate on 2.4 ghz and don't support LDPC
coding, might satisfy the condtions which is used to force enable
ldpc coding bit. If this bit is set, the peer doesn't support ldpc,
it might fail to connect.
To fix this, force enable ldpc coding only when peer is operating
in 5/6 Ghz along with the already existing conditions.
Change-Id: I4b424833bbf845de17acc0907e1098c0a01b3ee5
CRs-Fixed: 2760506
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
Change the default value of in CFG_REPORT_MAX_LINK_SPEED
to CFG_STATS_LINK_SPEED_REPORT_ACTUAL instead of
CFG_STATS_LINK_SPEED_REPORT_MAX_SCALED so that
gReportMaxLinkSpeed uses the default value as zero which
was previously 2.
Change-Id: I459c807b1738e21a28c5b51e2eeb6a4bccb78662
CRs-Fixed: 2787888
In the Rome IPA case, it need wlanhost side to
enble/disable intrabss by WMI_VDEV_PARAM_INTRA_BSS_FWD.
If set to 1, the ip data transfer between two wlan clients
should be:
wlan client1 -> wlan fw -> wlanhost -> wlan fw-> wlan client2.
If set to 0, the ip data transfer between two wlan cleints
should be:
wlan client1 -> wlan fw -> ipa -> wlan fw -> wlan clients2.
Change-Id: I105ddbdb58f2cd01bdf94521bd7934508889de5d
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
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
Currently, If hadware is not dbs capable opportunistic timer
can not be started. In function if_mgr_connect_complete
policy_mgr_check_n_start_opportunistic_timer fails to start
opportunistic timer in case of non-dbs hw and sap restart
doesn't happen.
Fix is not to validate status returned by
policy_mgr_check_n_start_opportunistic_timer to restart sap
in case of non-dbs hardware.
Change-Id: I3308a5c10341950d51419907cc767c09f967b7b1
CRs-Fixed: 2792764
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
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
Fix the following regression issues which will cause get peer
statistics failure:
- Number of peer statistics is not updated in the callback
- Sta info reference count is not released
- Incorrect nla len
Change-Id: Ia7cdf28324402fd647a6d4e80b27612ccabb32f2
CRs-Fixed: 2785764
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
According to description of enum qca_disconnect_reason_codes, both
REASON_HOST_TRIGGERED_ROAM_FAILURE and REASON_FW_TRIGGERED_ROAM_FAILURE
should be mapped to QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE;
while REASON_USER_TRIGGERED_ROAM_FAILURE should be mapped to
QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE.
CRs-Fixed: 2784513
Change-Id: I62c82ae72de03cd219dd779ba4f50cf75b69d2a3
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
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
Currently roam_candidate_count is incremented without
validating the band. roam_candidate_count is incremented
even connected channel band is different than curr node
channel band i.e count is updated from different bands
also which may result into high dense roam.
Avoid updation of candidate count from different bands.
Update roam_candidate_count in case connected channel
band and curr node channel band is same.
Change-Id: If25426abda440926a38755c3a1ec2ce2a291aa9c
CRs-Fixed: 2787119
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 lithium GRO is not supported with rx_thread
disable. Add similar handling as part of runtime
rx_thread disable.
Change-Id: I897179ecdfd83f8dde7cd997e943ffb276b1afad
CRs-Fixed: 2794023
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 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
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
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
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
Add support to send MSCS add/change/remove types of Action frames
to the connected AP.
Change-Id: I12c28700007302fd1b1ff22edd23edb98c3bc144
CRs-Fixed: 2791794
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
In latest builds, CONFIG_SLUB_DEBUG is not getting set for debug builds,
which is causing wlan debug features to get disabled. Hence, enable
wlan debug features when either CONFIG_SLUB_DEBUG_ON or CONFIG_CNSS2_DEBUG
are defined.
Change-Id: I8fd94e095f2e5ebc459e73a6ae39e143944cc5f7
CRs-Fixed: 2789834
Add vendor command support for GPIO configuration.
It adds wma wrapper functions to send wmi command
for GPIO configuration, which are called by cfg80211
API in hdd layer
Change-Id: I9a02072afaab893d12fc9c991c8265b5aa19cd75
CRs-Fixed: 2753571
Send unified ll_stats and get_stats request over qmi based on INI
configuration.
Change-Id: I0c8f9e6ccb7a4a1588a8086c610ab29f58dfdcd7
CRs-Fixed: 2791039
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