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
Corner case: idle restart --> country code set from user space -->
idle shutdown start -->set country command pended --> idle shutdown
complete --> country_change_work_handle crashed
The crash root cause is getting country code set command when adapter
started, but work q country_change_work handle pended by idle shutdown
processing. After idle shutdown complete, work q country_change_work
gets chance to process the command, but driver already disabled.
The fixing is similar with Ic651e1abdf6b2efa27e57695c04ace249f9d21bb.
But 9f9d21bb can't cover the corner case.
So, add driver state checking in q country_change_work.
Change-Id: I1c9407f03273d4ad487e617fa3426f2c103ada7f
CRs-Fixed: 3247396
Handle build errors in legacy chipsets, to support
same link/mld peer mac address handling for MLO.
Change-Id: I8b4e323481c6d327ee579a6b8143215c94341b8e
CRs-Fixed: 3228926
For multiple concurrency on dual mac, connection
dump is not added if a single vdev is present on
one mac. For example if 2 connections are on MCC 5 GHz
and one connection is on 2 GHz in DBS system then in
connection dump only MCC/SCC vdevs will be present.
Fix is to include single vdev in connection dump and
cleanup dump_dual_mac_concurrency as concurrency can
be checked with in loop instead of separarte mac share
check for each vdev.
Change-Id: I09ab964915cd3b132c3bd3cba096e40cba238eed
CRs-Fixed: 3254806
If shutdown_suspend mode enabled, idle shutdown should be done before
suspend enter (wihpy_suspend). However, idle shutdow (cnss_idle_shutdown)
may return zero even failed to shutdown. Because cnss_idle_shutdown
just post event, and then return, almost always return zero.
Once this happened, driver can't be disabled. Function wiphy_suspend
and wlan_hdd_cfg80211_suspend_wlan will be called. It is not expected.
So, ignore wiphy_suspend if shutdown_suspend enabled, return EINVAL
directly.
Change-Id: I156a0bbefabe0e02ecdbe7ae37477b716840a0d4
CRs-Fixed: 3240745
For PASN authentication, the mgmt frame TX happens before
vdev is started. Firmware configures RX filter for the vdev
mac address during vdev start only. So if firmware sends PASN
initiate request with source mac address as vdev mac address,
then the RX filter willnot be configured since vdev mac is same
as source mac, this causes the PASN M2 frame from SAP to be
dropped and No ack is sent.
Configure RX filter for vdev mac address when vdev is not up.
Change-Id: I52c9e50a250be1935d1097d45753fa941ae73bea
CRs-Fixed: 3254628
In current code changes call to apply tput policy
was missing, So to fix issue add call to update
the tput policy.
Change-Id: I29ef9db5789406877deb3177233c10ba1ae9db9c
CRs-Fixed: 3254183
SAE and SON use data path enum IEEE80211_STATUS_* to assign status
code.
Use proper control path enum wlan_status_code instead.
Change-Id: I50bde9e7983860692ffe381c74e894b84de11ddf
CRs-Fixed: 3253954
Currently inside the function sch_gen_timing_advert_frame, the variable
type used to hold the return value of populate_dot11f_timing_advert_frame,
is incorrect. So, fix it with correct variable type.
Change-Id: I592c1b3c291b4c9dce2cbe731021cf512cb598f2
CRs-Fixed: 3243257
We should use qdf_hrtimer_data_t, which is QDF abstraction of hr_timers.
We should use QDF_HRTIMER_NORESTART instead of __QDF_HRTIMER_NORESTART.
Change-Id: I02b83a23c94d1acde955313ed39e1b5cc44f76f2
CRs-Fixed: 3253137