Issue: Host reports different RSSI values during roaming
trigger logging and subsequent deauth TX logging to user
space.
In case of roam trigger roaming, driver sends the rssi value
to user space from wmi_roam_ap_info tlv in roam scan results.
In case of disconnection due to BMISS or STA KICKOUT case,
host does not receive latest beacon from FW. This results,
on disconnection, host reports deauth TX logs to userspace
using old RSSI present in mac->lim.bss_rssi which is updated
when beacon or probe response is received in host.
Fix is to update mac->lim.bss_rssi while processing sta
kickout or bmiss event coming from FW.
Change-Id: I108f94959fbf915d8f67f443a9fcd54d595c27d1
CRs-Fixed: 3417363
Firmware sends beacon/probe rsp received to host as part of roam
sync(frame) indication. Frame received frequency is same as
re-association frequency in case of non-ML or single link ML
roaming.
But the ML probe response might come from non-assoc link in case
of multi link roaming. Probe response received frequency and
reassociation frequency are different in such cases. Some
IEs(e.g. HT_INFO) expect frame received frequency to match with
the frequency mentioned in the IE.
So, fetch the probe response received frequency from source
address of the frame and the ml_info of roam sync indication.
Change-Id: Ife96aa46de10d4cd6882e6d04479dfdd481582d4
CRs-Fixed: 3412842
The header file pktlog.h is a legacy remnant that doesn't provide any
value, so remove the unnecessary #include. This is a precursor to
removing the actual file.
Change-Id: Ic9def32b2c800a9b05001eb3816d1b421f82288e
CRs-Fixed: 3420816
EasyMesh controller need backhaul station TX rate to calculate path
capacity in EasyMesh steering.
Run time TX rate is more suitable for EasyMesh controller to select
best path.
Backhaul station should indicate run time TX rate to EasyMesh
Change-Id: I2e72257327682235351bc04edf405f73b663a9f7
CRs-Fixed: 3420875
Given the fact that the RX nbuf history array size is not enough,
sometimes the dump fails to capture the problematic buffer address
records, leading to failing to identify sources of buffers. This
change is to increase the array size of qdf_nbuf_history, which
makes it possible to record more RX history buffers to be traced.
Change-Id: I7982873daf6fafcb31e77d2aec380f1c00401ee5
CRs-Fixed: 3405585
In MLO STA 2.4 GHz + 5 GHz High band and SAP concurrency case,
5 GHz Low band SAP will move to MLO 5 GHz link's home channel for
SCC after MLO STA is up.
But GO starts on 5 GHz high band when SAP CSA is in process and
pass the policy mgr concurrency check because the SAP channel
is still 5 GHz low band.
Fix by defer GO BSS start if any CSA is in progress and also
check any AP start is pending for STA, SAP force SCC concurrency
handling.
Change-Id: I0fcd799017d5048f3574687f913a396ab4d7ade1
CRs-Fixed: 3418351
Currently thermal level can be got from upper layer only
for FW thermal mgmt offload case. Per the requirement,
refine the code to support it for thermal non-offload
case as well.
Similar to offload thermal mitigation, add TX_OFF and
shutdown two states for non-offload case. Host will fully
stop TX traffic in TX_OFF state and target will trigger
shutdown when temperature come to the range of shutdown.
Per above requirement, add below four INI to configure
thermal temperature threshold value as need for TX off
and target shutdown.
gThermalTempMinLevel4
gThermalTempMaxLevel4
gThermalTempMinLevel5
gThermalTempMaxLevel5
Change-Id: I40d097ab8a5801052553ad7adedd38be475c7669
CRs-Fixed: 3413165
The current way in the driver to handle CONFIG_CNSS_UTILS=m and
CONFIG_WCNSS_MEM_PRE_ALLOC=m will not work if the flags are not
coming from kernel Kconfig directly (e.g. CNSS utils and prealloc
module sources are built out of kernel tree) since "cppflags-
$(CONFIG_FLAG) += -DCONFIG_FLAG" will not take effect if CONFIG_FLAG=m.
Fix it in a proper way to work even if config is defined as m.
Change-Id: I60c26b1e0d64277b733e534960a00afb5579fb43
CRs-Fixed: 3419566
Do not pass mode as an argument in policy_mgr_is_vdev_ll_sap().
Use vde_id to get the mode for further condition check.
Change-Id: Ie12c31d4cf536ba6c80f0e28524b4c99c23600d1
CRs-Fixed: 3414277
The reference taken for objmgr peer during ML peer
context creation is not released if any validation
has failed in pe_session initialization. The call
to directly remove objmgr is initiated without a
call to detach ML peer. This leads to reference
leak for the peer.
If lim_fill_session_params() API returns error,
wma_remove_bss_peer_before_join() API is called
to cleanup the peer objmgr. Call API corresponding
to MLO peer detach in this function to release
the MLO_MGR reference.
Change-Id: I010150b4aefe9f076455cd5aafb1c3b55155458b
CRs-Fixed: 3405762
Currently, for SAE ML connection, in SAE auth frame
1. Userspace send source address as STA link address and
destination address as AP link address.
2. Driver send STA and AP link addresses to userspace
while receiving the SAE auth frame.
Now as a part of userspace changes,
1. Userspace shall send source address as STA MLD address and
destination address as AP MLD address, those addresses
driver can not send OTA.
2. Driver needs to send STA MLD and AP MLD address to userspace
while receiving the SAE auth frame.
Fix is, driver updates the SA and DA as link or MLD address
internally and send OTA or to userspace in SAE auth frame.
Change-Id: Iabd73b7704b5f93cdebe29b920d3c797819f41c1
CRs-Fixed: 3367021
If the Spatial Reuse parameters change in the beacon
post association, update the new parameters to the
firmware and userspace.
Add a new SR change reason for beacon update. Use this
to update the new SR params to userspace.
Change-Id: I929d8edf7425e6e9494027f6da07a5406d2db123
CRs-Fixed: 3316986
TWT responder will come from the OEM while start SAP, after SSR
this value is not present. TWT is not enabled after SSR, if this
value is set in the SAP start.
To solve this scenario, cache the twt responder value in
sap_config to use this after SSR.
Change-Id: Iba4c198d6f3d92584c2b6af27d2fbe688c781f7d
CRs-Fixed: 3408653
Add a new ini "p2p_go_in_indoor_chan" to enable support
for p2p go operation on indoor channels.
Do not allow standalone SAP on indoor channels if the
SAP indoor channel support is not enabled.
Change-Id: I2e6220ebcefe09b4ad5de496c36879ef048cb5b8
CRs-Fixed: 3405597
Add code to support modularizing CNSS_GENL and CNSS_UTILS
for auto qcn7605 and qca6174.
Change-Id: I69660cba4fa912f8fd6bb009d2c0d62f707c5ae7
CRs-Fixed: 3418583
When filling ft session in lim_fill_ft_session, eht_config and he_config
should be copied just like what we do in lim_fill_pe_session.
Otherwise there is no HE capability IE in reassoc request for LFR2.
Change-Id: Ib0ad7fc5b43ee0fa122ac9d014e8c614f0661d7e
CRs-Fixed: 3412832
While forcefully releasing the reference leaks driver is taking a
psoc lock and forcefully releasing the object references, which
in turn try to acquire the same lock resulting in deadlock.
Don't take psoc lock while forcefully releasing the psoc lock.
Change-Id: I25d2c84f66927888220ecd61e7fa5c6137002069
CRs-Fixed: 3414339
Currently host driver considers wakeup from runtime PM because
of pagefult as well to trigger the SSR. Based on new requirement
do not consider wakeup from runtime PM to trigger the SSR.
Change-Id: I61837ee876fffa33d56035ee41c8e8a2b68e8ca7
CRs-Fixed: 3402848
In hdd_wmm_classify_pkt_cb, local variable user_pri and is_critical
should be initialized in hdd_wmm_classify_pkt_cb. we can't expect
hdd_wmm_classify_critical_pkt to do it.
Invalid user_pri is set to skb->priority because user_pri and
is_critical is not initialized.
Change-Id: I6d57251bcb8c7bc3d0f031f2d9b127e3e16d1b47
CRs-Fixed: 3408478
Current code allows for viewing Runtime PM stats via debugfs only.
Fix this by adding sysfs viewing functionality.
Change-Id: I2b439f0bb608292dc1390a5529f9dc287b7262bc
CRs-Fixed: 3414306
DP TXRX module is not cleaned when DP Rx thread init failed
To fix this, when DP Rx thread init fails, free DP TXRX module
as part of failure sequence.
Change-Id: I311b84a76036c8dd1e60b9f8c653fc126e031543
CRs-Fixed: 3413933
Limit num_channels to be less than NUM_CHANNELS to fix potential
out of memory access when calling add_sbs_chlist_to_pcl in the
policy_mgr_get_channel_list.
Change-Id: I58fdbc67b7692c7d1dff5aca6cbd6dc67115a65c
CRs-Fixed: 3416540
Define the CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY to enable peer obj
freed in a delayed work item to avoid any potential scheduling in the
atomic context.
It might invoke wakeup_source_unregister in the peer obj destroy handler
which happens in the atomic context to cause scheduling timeout issue.
Here is the call trace without enabling this flag:
Call trace:
dump_backtrace.cfi_jt+0x0/0x8
dump_stack_lvl+0x80/0xb8
__schedule_bug+0x80/0x134
__schedule+0x75c/0xacc
schedule+0x110/0x204
schedule_timeout+0x48/0x138
wait_for_common+0x14c/0x314
__synchronize_srcu+0x13c/0x1e4
synchronize_srcu+0x2d4/0x414
wakeup_source_unregister+0xd8/0x1c4
mlme_peer_object_destroyed_notification+0x3c/0x1ac [kiwi_v2]
wlan_objmgr_peer_release_ref+0x218/0x300 [kiwi_v2]
dp_softap_inspect_tx_eap_pkt+0x24c/0x29c [kiwi_v2]
dp_softap_notify_tx_compl_cbk+0xa4/0xa8 [kiwi_v2]
dp_tx_comp_process_tx_status+0x28c/0xa90 [kiwi_v2]
dp_tx_process_htt_completion_be+0x2f4/0x4f4 [kiwi_v2]
dp_tx_comp_handler+0x5dc/0xaa8 [kiwi_v2]
dp_service_srngs+0x114/0x4fc [kiwi_v2]
hif_exec_poll+0xd8/0x3c0 [kiwi_v2]
__napi_poll+0x64/0x268
net_rx_action+0x11c/0x3a0
_stext+0x16c/0x5e4
__irq_exit_rcu+0x74/0x140
handle_domain_irq+0xd4/0x154
gic_handle_irq.33723+0x54/0x2bc
call_on_irq_stack+0x40/0x70
do_interrupt_handler+0x44/0xa0
el1_interrupt+0x34/0x64
el1h_64_irq_handler+0x1c/0x2c
el1h_64_irq+0x7c/0x80
cpuidle_enter_state+0x3b4/0x87c
do_idle+0x300/0x5a0
cpu_startup_entry+0x84/0x90
kernel_init+0x0/0x36c
start_kernel+0x0/0x61c
start_kernel+0x500/0x61c
__primary_switched+0xc4/0x7a7c
bad: scheduling from the idle thread!
Change-Id: Icee1ef30380418596711ef54a95f3286287e1cdd
CRs-Fixed: 3412052
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection
Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
1\ Optimize the log output;
2\ Remove the duplicate code;
3\ Fix issue about processing partner link in probe response frame.
Change-Id: I05a67cf9ee7c017c6f76924f9cf08bbe2185b81c
CRs-Fixed: 3410878
EasyMesh application will get current TX rate information of connected
station. Add API to support it.
Change-Id: I6778e1ae18f3efe89930a5423455ebf3f8084a95
CRs-Fixed: 3406509