In monitor mode in case of restart failure,
event WLAN_VDEV_SM_EV_START_REQ_FAIL is used to move the vdev SM
to init state. But this event will not be handled in
WLAN_VDEV_SS_START_RESTART_PROGRESS and thus the vdev stop/down
won't be sent for the vdev.
Use event WLAN_VDEV_SM_EV_RESTART_REQ_FAIL for restart failure
to send vdev stop/down.
Change-Id: I2db459136955b8dc2213c0251284a08a8f57aa57
CRs-Fixed: 2964875
Avoid connect try to next candidate after 20 sec and thus
try to limit max connecttime to 30 sec to avoid active command
timeout.
Change-Id: I039b3d99eb77cf0148d104053c3bac86d03ad204
CRs-Fixed: 2982358
Initiate WLAN_VDEV_SM_EV_START for connect only in INIT state
as if its not in init state the VDEV SM is not cleaned up, which
needs to be debugged.
Sending WLAN_VDEV_SM_EV_START can cause pe session leak if the
event is handled by VDEV SM and return success. This can eventually
lead to all the pe session in used state.
Change-Id: I8245a7985bb08b04008b4f833f9474947c1bf57b
CRs-Fixed: 2982070
Add sanity check for RRM global channel list to avoid
possible NULL-Pointer issue.
Change-Id: Icfbf5282304a549a0dc92889f83cb1a31dde15b2
CRs-Fixed: 2972194
Currently, rssi of rx data packet is not received as part of rx_tlv_hdr.
To mitigate this limitation, fill the average rx rssi received from
firmware in wmi smart monitor event which is stored in pkt_capture's
vdev_priv structure.
Change-Id: I3a1b7b766979816d6b17f05edc1c25d503edec1d
CRs-Fixed: 2958109
Add function to populate the rx average rssi received from target in
pkt_capture vdev_priv structure. The rx average rssi is received in
wmi smart monitor event.
Change-Id: I9206669b418a2245bb8d53920040fddea77ce06c
CRs-Fixed: 2969242
Register handler for wmi smart monitor eventid in packet capture
mode in lithium. Currently, wmi smart monitor event provides
average rssi of last ten received data packets.
Change-Id: Ieeea5cbef328b04f139f54e7a42d52a3cf25824b
CRs-Fixed: 2969245
Currently GRO flush is being skipped if bus bandwidth level
is low this is resulting in rx packets to be in queue for more
time and affecting over all RTT value.
To avoid this for non legacy clients GRO flush is not being skipped
even at low throughput level.
Change-Id: I5ce64ee2bd5f332cf4db38116b1bbf400220269b
CRs-Fixed: 2978843
When vdev down flag is set, rx thread needs to flush the
pending frames in a fixed timeout value. Overall scheduler
timeout value is 10s, fixed timeout for each thread is 4s,
so if more than two threads timeout happens, scheduler timeout
may happen and lead to crash. Change to use adaptive timeout
for each thread to make overall threads wait time less than 10s.
Change-Id: If8acdaf1cac9d776e15d3020c8152101eae74a0c
CRs-Fixed: 2973947
Currently, host prints only one peer info instead of
all peer info as part of oem_ss initiated broadcast
SAP TWT get_status command.
Add a support to print all peer info if oem_ss sends
broadcast SAP TWT get_status command.
Change-Id: I0a617f655b7a5486582cb47a4602b30514ffae88
CRs-Fixed: 2970487
Currently ini based tx aggr support disabled due to firmware
incompatibility.
This change is to enable ini based tx aggr support based
on firmware capability.
Change-Id: Id5d7197f18fafd926de889f9b69ca2be90497fd2
CRs-Fixed: 2859709
This reverts commit I9e49ad5218f913f116cf4472f768f572740f14df
since ini based tx aggregation is configured based on firmware
capability.
Change-Id: I54541cd282eda6606e75fa347989624a0e0fef01
CRs-Fixed: 2963280
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