Currently while attaching vdev to DP interface
we are searching DP interface based on the Adapter
MAC address, but if STA MLD and Link address is
same, we were getting the Link Interface instead of
MLD interface, which was causing the EAPOL packet to drop.
To Fix the issue, instead of searching for DP interface
based on MAC address, use netdev to search DP interface.
Change-Id: I50c7974c053717b496fab0eeb89774af382b4313
CRs-Fixed: 3258684
Fix stack frame size warnings during compilation for
tdls_get_6g_pwr_for_power_type and
tdls_is_6g_freq_allowed.
Change-Id: Ic9ca3c3db33acd769720bfcb8a754f8d6e6492ab
CRs-Fixed: 3249672
During vdev destroy, normally driver will wait for set hw mode
completion before cancel the nonscan serialization Command.
But the “wait” doesn't happen at some time. The reason could be
the qdf event (set hw complete event) is signaled state at the
time of waiting. There are code path the event is set without
reset during hw mode change.
Fix by reset the event in csr_process_set_hw_mode alone with
setting the hw_mode_change_in_progress flag.
Change-Id: I00318ec5d1f3c50233e8a990000ef5b011adf8dd
CRs-Fixed: 3259235
In the link layer stats, currently FW sends vdev_id info
for interface stats only, and not for peer and radio stats.
So, in the hdd callback function for the link layer stats,
when we try to get adapter from the vdev_id info sent by
FW, it returns error and ultimately causes LL_STATS timeout.
To avoid this issue, use the vdev_id info sent by FW only
if it is valid.
Change-Id: I7811b7c257cbfa67bdad0d132a1478120121f9fc
CRs-Fixed: 3254760
Currently in packet capture, channel is updated from connection
manager. Connection manager channel is updated only after
roam is done, because of which for EAPOL tx packets old
connection freq is filled during roam from one AP to other.
So we are seeing previous AP freq in EAPOL tx packets
captured during roam.
So to avoid this fill freq in data tx packets from pdev
which will get update when auth frame is received.
Change-Id: I251c4dd084b459b7c85e80c5f7ad717d561c09ae
CRs-Fixed: 3248305
Currently, host driver supports auth tx mgmt frames for SAP,
STA, P2P_GO and P2P_CLI only. Also, need support to send auth
mgmt frames for NAN iface to send auth tx mgmt frames to firmware.
Add check for NAN opmode in tx auth mgmt path to support for
NAN pairing protocol.
Change-Id: I515e49c0d208030ba90cc3df69c366a9742adce0
CRs-Fixed: 3257739
Currently, host driver validates pe_session in lim to send
tx_mgmt frames to firmware and drops the packet if there is
no valid session. This is fine for STA, P2P and SAP modes as
there would be a valid session. But host driver needs to send
mgmt frames through the same interface for NAN pairing protocol,
which doesn't have a valid pe_session. So, exempt the pe_session
validation for NAN interface.
Change-Id: Ia28f12c164fd2e1cd7cdc06103b5cf66cbda5876
CRs-Fixed: 3257657
Currently, host driver supports random mac for tx mgmt frames
in STA, P2P and P2P CLI opmode only.
Add NAN iface to support for random mac for NAN vdev in NAN
pairing protocol.
This allows to transmit the NAN tx frames to the lower layer.
Change-Id: I06b9340cf9bfd9f6a5e77ff02d19d8a87baea0ff
CRs-Fixed: 3257667
Currently, host driver supports NL80211_CMD_NEW_KEY only for SAP,
STA, P2P_GO and P2P_CLI. Need add_key support for NAN discovery mode
as well to support the NAN pairing protocol. This allows userspace to
install the keys after deriving from PASN exchange.
Change-Id: I11b8318f89e4b2240dc6fb9d6f4c5b053a6c1387
CRs-Fixed: 3257622
Currently memory allocation for dp_stats was happening
from stack, which was causing stack frame size limit
exceed error.
To fix the issue use malloc to dynamically allocate memory
equal to size of dp_tx_rx_stats structure.
Change-Id: Ia2a88d6de871b18903296537d7d1064460243773
CRs-Fixed: 3250567
Currently in request PM QoS API we are
removing PM QoS and in remove PM QoS API
we are requesting PM QoS.
To Fix the issue rename the APIs to perform
currect action, Also remove unnecessary logs
Change-Id: Id40f257ec23c2331f8aacc4a4680cbccba175d31
CRs-Fixed: 3258087
In the api lim_process_sae_auth_frame(), the value for
auth_type is set to '0' in api wlan_connectivity_mgmt_event()
for SAE authentication, resulting in auth_type to be logged
as zero.
Pass the correct value of auth_type in the api
wlan_connectivity_mgmt_event() for SAE authentication
logging.
Change-Id: I65833ceb89e7db8fd2134b5c7e9fb0a415581061
CRs-Fixed: 3253900
Spinlock recursion is occured as dp_rx_fisa_add_ft_entry() is
returning without releasing the spinlock and from another CPU,
same process is trying to acquire the spinlock.
To fix this, if fisa is being bypassed, release spinlock before
returning.
Change-Id: I93a59a727683e1235b0ead96df5cd30f6c56d5a1
CRs-Fixed: 3257174
EasyMesh spec does not support 6 GHz officially. Our EasyMesh application
only supports 6 GHz in very new version.
Add parameter for the interface between SON and Wlan driver, so that
including 6 GHz or not can be configurable.
Change-Id: I37b07697200747521bec598806cb533774fa3a91
CRs-Fixed: 3256469
FEATURE AST is not needed for HMT as
host will not need any AST entry SW copy
in host side. So we disable FEATURE AST
and bypass handling same mac address
for dp_ast.
Change-Id: I48c7449b14ac34ee1cf65fc453970fb28500872f
CRs-Fixed: 3228975
AP sends deauth on link vdev, triggering a disconnect on link vdev
followed by assoc link vdev. The smeState is not updated for assoc
link vdev resulting in host not sending Peer delete and vdev stop/down
commands to fw.
To solve this if deauth or disassoc is received on link vdev
update the smeState.
Change-Id: I1ec834118642c82ab05b752b0bc343959b651072
CRs-Fixed: 3247801
Align command "setMaxAssoc" to INI "cfg_assoc_sta_limit" since they are
for same configure of host side.
Change-Id: Iccf60f261beef7fb7cc776ee691992e06bc7fa76
CRs-Fixed: 3241183
The lim_objmgr_update_emlsr_caps API updates EMLSR
caps based on the support bit from assoc response
on both links currently. But assoc response present
bit check should be for assoc link only. Add a check
to enable this logic.
Change-Id: I714fbb84a84bb3173e37eba1cc20c5ccdc5c5464
CRs-Fixed: 3254996
RPS CPU mask is getting set even if feature is not enabled,
due to this RPS config is taking affect and throughput is degraded.
Fix this by checking dynamic RPS enablement before setting RPS CPU mask.
Change-Id: I472a600e665271db7ea1e6fa650d88cba7804ab8
CRs-Fixed: 3258049
Currently __wlan_hdd_cfg80211_get_station gives failure when
incorrect MAC is received.
To address this issue add validity check for mac.
CRs-Fixed: 3239854
Change-Id: I9ecbcbc7681b839d29b31748c63d445da546ff09
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE is used to set the
config for packet capture feature on STA interface.
Currently this vendor command is allowed even if monitor interface
which will be used in packet capture mode is not created, which is
wrong.
To fix this, allow monitor mode config related to packet capture
feature only if monitor interface is created.
Change-Id: Iea94b4cd5f21d8ce13643c209d4027972d7a16d3
CRs-Fixed: 3256298
Fix TX failure message flooding in the cnss diag log in the third
party platform when running UDP performance test in high bandwidth.
The TX follow controller might be disabled for the legacy ROME module
due to IPA might be not enabled in the kernel config.
Use rate limit print version to mitigate this error msg flooding.
Change-Id: Id33c2a42a6490f734e83343f6d26e37cd6887bbe
CRs-Fixed: 3256599
Irrespective of whether channel bonding is enabled or
disabled, BW of TDLS connection on 2.4 GHz should always
follow AP's Bandwidth.
Change-Id: Ic077ece540e4e70065f9eb8b5728187753613ff2
CRs-Fixed: 3253261
In function __hdd_psoc_idle_shutdown(), after getting sync context,
ignore idle_shutdown if any interface is up. This is done to handle
special scenario in which platform driver triggers idle shutdown
when it receives Deep sleep/Hibernate entry notification from modem
subsystem in wearable devices.
And return EAGAIN to platform driver once checking failure.
Change-Id: I6ca2a1cb33aaf8a3b475f81109803fcdde86bbc4
CRs-Fixed: 3242998
Due to Kernel 5.15+ upgrade, the correct kernel function must be used
to register netdevice. Hence, set the add virtual interface flag during
monitor mode interface creation in order to properly call
cfg80211_register_netdevice().
CRs-Fixed: 3247266
Change-Id: I69517052ae2aa71f5a903c4127f952cbe5f65e69
Remove the wdev reistration/unregistration for link wdev's
and support the open association through new netdev model.
Change-Id: I3f5c5e969bec4430ad8812073e396cba87c0e27b
CRs-Fixed: 3241850