In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.
If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).
Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.
Change-Id: Idbaac2e9d470525641c152b024b8786d262e600c
CRs-Fixed: 2965025
In WEP connection, IV values used for consecutive packets
could be random and need not be monotonically increasing
or consecutive in case of fragments. This could result in
incorrect drop of fragments.
Fix is to not do PN check in case of WEP security.
Change-Id: I8bfe16f3bf68752f4279b3fae1cf485a3abc1af7
CRs-Fixed: 2977416
There is potential risk when starting CFR and resume happens at same
time. Wake lock is added to CFR component, and this change enables
wake lock for enhanced CFR.
Change-Id: I1ebe8c11fad66b66adcad0b551756abf2c010cde
CRs-Fixed: 2977699
Based on new requirement create a sysfs file dump_in_progress,
this file has read and write functionalities for a bool variable,
if the value in this file is set to 1 cnss_diag will trigger
DEBUG_DUMP cmd to wpa_supplicant_8_lib through wpa_ctrl socket.
After log copy completion cnss_diag will reset sysfs node to 0.
Change-Id: I93f612d3caf4ef6ad5db98bc531ab091e96c7817
CRs-Fixed: 2971373
Host creates a precac adapter and uses it for all the precac
request instances from userspace. To avoid cac state impact
of previous instance on current precac request, reset the
cac_state before starting a prepcac adapter.
Change-Id: I8bb7a2d10350eeeafaac9bea60947a52a1e8686e
CRs-Fixed: 2970505
Update the ap power type when STA moves in/out of 6G
during roaming in beacon process API. Add new API
wlan_reg_get_6g_power_type to return ap power type
and country code match.
Currently, after roaming, the lim join req is null and
the null check in TPC calculation API returns without
calculating the TPC power again. This change should
fix the issue and recalculate TPC power after roaming.
Change-Id: Ibe9fa7ed0f0e1cdaf427e78279f3e675344d8abe
CRs-Fixed: 2968240
Add skip_tpe check in beacon process API so that TPC power
calculation API is not invoked for 2G/5G roaming case if
skip tpe INI is set even though tpe power from beacon has
changed.
Change-Id: I4886634ac04e5dfdfce192d9099976fd436fc4c0
CRs-Fixed: 2966000
When cfg80211 suspend comes to the driver it configures the various
offloads to FW and set the hdd_wlan_suspended flag. If FW crashes after
this flag is set, the driver reinitializes but this flag is not
reset. As a result of this, the data packets are dropped which
leads to the connection failure.
To resolve this issue, reset the hdd_wlan_suspended flag during the
driver reinitalization.
CRs-Fixed: 2976125
Change-Id: I125a6a840f9cd7673fed921d1af112a6e1671bcb
When roaming is in progress, if the roam control vendor command
is received to update the roam triggers, the command is rejected
but the trigger bitmap value is not cached at the driver.
This causes old roam trigger values to be updated in the next RSO
command.
Cache the roam trigger bitmap in mlme when roaming is in
progress.
Change-Id: Iae7d3babf5f3883df1939a31d40050db9b78af32
CRs-Fixed: 2971772
Reorder error checks in ipa_uc_ol_deinit, so it can
return immediately if IPA config is not enabled.
Change-Id: Ibf9f30650ce201eea562baf07b6dd9b83fd8dfff
CRs-Fixed: 2977474
Use the global lock instead of the init_deinit_lock in the ipa_obj to
avoid access the invalid memory with ipa_obj->init_deinit_lock since
the ipa_obj will be freed after driver shutdown.
Change-Id: I98a844456873f60213fae19c237bb08b76b4846c
CRs-Fixed: 2887487
Host use GFP_KERNEL flag in cfg80211_vendor_event() to send CFR data
via NL event to userspace. Host gets CFR data from FW and processes
it in soft_irq context. To avoid host sleep in soft_irq context, call
cfg80211_vendor_event() with GFP_ATOMIC flag.
Change-Id: I9ab5451eb2650fe177638d0bb3974a9c933a1cf9
CRs-Fixed: 2978140
When FEATURE_HAL_DELAYED_REG_WRITE enabled, also enabled
SHADOW_WRITE_DELAY to avoid back to back shadow reg write.
Change-Id: I8d48496814e063ebd441db3520e3a5406c5db13e
CRs-Fixed: 2967202
Country change is a psoc operation and currently driver does
not try to reschedule country change work if it fails to start
this psoc operation and because of which it does not update the
scan channel list to the FW because of which host and FW are
not in sync.
To address this issue, reschedule country change work if it
gets and status of -EAGAIN when it tries to start the country
change psoc operation.
Change-Id: Ib93674b600a5d19fe3091d58e0689e806366659d
CRs-Fixed: 2968772
Currently driver does not subtract the already filled length
from the max available length when it copies the number of
radios to the llstats result buffer which may lead to buffer
overflow.
To address this issue subtract already filled length from the
max available length when driver copies the number of radios.
Change-Id: Ie3b93121df603bd65250f0b0a49bb049d353211d
CRs-Fixed: 2969637
To show the "dual-band" option in "AP Band" in Hotspot, the host
should set the feature flag of CONCURRENT_BAND_SESSIONS in
hardware's capability and sends it to userspace.
The fix is to set the CONCURRENT_BAND_SESSIONS feature flag and
send it to userspace via the QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
vendor command.
Change-Id: If29c35be4ea86c966624922f0209b1e5c272d405
CRs-Fixed: 2968554
Unlike wpa2, in wpa3 roaming scenario, roaming is not fully
offloaded to FW, EAPOL handshake and key install are done
from host, in current design during assoc completion handler,
it sends STA_CONNECT event to IPA and IPA gets hung waiting
for buffer replenish from FW and FW is waiting for current
thread to return, this causes deadlock, so defer sending
STA_CONNECT event to IPA after EAPOL handshake and key install
for all the secure connections, hence IPA HW is ready to
process the STA_CONNECT event, in this case.
Change-Id: I19961cdd303ccef13621c7a20867ba852342a526
CRs-Fixed: 2958313
EAPOL handshake is done by wpa_supplicant in initial connection
and WPA3 roaming as well. Driver is supposed to wait for EAPOL
handshake/key complete timeout after getting roam sync indication
from firmware. But this wait is skipped with the change
change-id : Ie4f06cfcb066ae245de024b62da586aade783aec.
Add the same check again.
Change-Id: I437c6be15d7c1a3775a177c2da6c581d417c2533
CRs-Fixed: 2963548
Currently, ADDBA window size is calculated based on
self HE capability and peer advertised window size in
lim_process_addba_req(). But HE capability of the peer
is also considered while sending ADDBA response.
In NDI case, peer HE capability is not available and results in a
non-HE window size(64). But there is no need to check peer HE
capability as it advertises the window size in ADDBA request.
Skip the he_cap check for NDI.
Change-Id: I2d1df6f3cba9eac009ba59fcf33db88c907171bb
CRs-Fixed: 2961524
Currently, driver creates the NDI upon userspace request and sends
NDI-create-response to userspace. But internal NDI state is set
after sending this response. This leads to a race condition when
userspace sends NDI delete while driver is still setting driver
internal state for NDI create.
So, send NDI create response to userspace only after completion
of driver internal processing.
Change-Id: Ic651fd4f6dfab17c48c4f65b6e5d49c4d08cbe16
CRs-Fixed: 2966549
Do not drop qos null frames in packet capture. so remove
check for qos null frames in packet capture mode.
Change-Id: Ie3a700cbc5a7e582ea7cfc39ebd62880265f8f7d
CRs-Fixed: 2973279
Provide ucfg api to configure qos null and trigger frames.
Ucfg api will send configuration to FW. Below configuration values
are allowed.
PACKET_CAPTURE_CONFIG_TRIGGER_QOS_DISABLE: disable capture for
trigger and qos frames.
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE: enable capture for trigger
frames only.
PACKET_CAPTURE_CONFIG_QOS_ENABLE: enable capture for qos frames only.
PACKET_CAPTURE_CONFIG_TRIGGER_QOS_ENABLE: enable capture for both
trigger and qos frames.
The packet capture config old value will be over written by new value.
For example, first if we configure value as
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE and then if we send config as
PACKET_CAPTURE_CONFIG_QOS_ENABLE then config is enabled only for qos.
Change-Id: I02dcd4372c7194ec3e477694ad0e2c045fe6c942
CRs-Fixed: 2967824
Advertize the DBS capability in the get feature vendor command
if device supports DBS.
Change-Id: Icd8e8de7e188e9c5a3041460e6316cdf2b8ebff1
CRs-Fixed: 2820800
The following vendor cmd can be used to set the
sw retry threshold per vdev for all AC:
Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Non-Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY
Change-Id: I49d88ae1f3f6142d8a420fd92f6f40bf3aad03e6
CRs-Fixed: 2945913
Reduce the timeout to wait for TDLS mgmt to
complete from 11 seconds to 3 seconds.
Also, Allow Tx data frame if no ack/nack is
received even after 2 seconds for last data
frame.
If last data frame is sent and no ack/nack
is received within 2 seconds, then drop the
new data frame.
Change-Id: If3294908cb1399c3b4c8931b80663671400bf610
CRs-Fixed: 2966308
Currently when gDot11Mode=6 (11n only) is configured in ini and AP
is operating in 11n mode the STA is connecting in HT mode, but when
AP is operating in 11AC/11AX mode then STA is connecting in legacy
mode i.e 11b/g/a. This is due to check which compares phymode of
BSS is 11n or not but failed to check BSS phymode is 11ac/ax.
Due to this there is mismatch in phymode and mode is downgraded
to legacy.
These changes will perform the check and allow STA to connect in
11n.
Change-Id: I8196b44db5a12fbba39ffcf58202fa1863b1c4b4
CRs-Fixed: 2965287
Currently if channel switch is in progress and if deinit
ap comes, channel switch does not gets complete and driver
does not reset channel switch in progress in adapter. Now
if driver receives channel change cb in hdd from regulatory,
it tries to restart the sap according to updated channel list,
but it waits for channels switch in progress to be completed
by taking the netdev reference for SAP adapter and this wait is
of 2 seconds, in this time if del virtual interface comes for
SAP adapter comes in that case it will detect the net dev ref
leak as one net dev ref is taken by country change work.
To address above issue, complete the channel change on deinit
ap mode and also check if SAP is started in country change
work before starting to wait for channel switch in progress.
Change-Id: I349e217a94093b3751310d4f7378fb6585f77743
CRs-Fixed: 2969343
Add INI configuration support to enable/disable BSS color collision
detection offload in STA mode.
Change-Id: I9d8f096813d74242566ccae5f92e872bcaca6295
CRs-Fixed: 2965133