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
While sending HE caps to FW the length parameter is not
updated, resulting in incorrect value for 2 GHz.
To fix this initialize the HE caps length before sending
WMI_VDEV_SET_IE_PARAM_CMDID.
Change-Id: I2126e02f82f48a0b3110bc7e1dbee887d2f8b0db
CRs-Fixed: 3250116
Currently we are getting current vote level and bus bandwidth
high threshold from hdd context. But these are moved to dp
context under dp component.
So to fix issue add and call ucfg api to get and set values.
Change-Id: I2c36b2df76c5932dc0d1bdbdec21ce2da5f537bc
CRs-Fixed: 3252743
While requesting sta stats, tx/rx netdev stats update are
happening from adapter. But as part of latest code change
these stats are moved from adapter to dp interface, because
of which some of stats values are displayed as 0.
To Fix the issue get tx/rx netdev stats from dp interface,
Also add calls to clear netdev stats
Change-Id: I64523b035c1d902ccc4a45d82f7508751e518150
CRs-Fixed: 3247540
For multiple assoc requests, corresponding APIs are called
multiple times, which leads to the crash.
Reduce the level of kmsg, so that it reduces the number of logs
per second.
Change-Id: I846a88c75cc326e7e7bb6aa8dfb22717c6dba5c2
CRs-Fixed: 3249830
Currently FISA flows are added for packets received
from DNS server. The connection to DNS server are short
exchanges to resolve any URL, hence there is no need
to create FISA flows for such short lived flows.
Bypass FISA for packets from DNS server.
Change-Id: Ifd4f15f2c0b131148ccff7fd450d536ac029788d
CRs-Fixed: 3249810
Currently if SAP is up on 5 GHz DFS/non-DFS channel and country
change happens to world mode where SAP is not allowed on 5 GHz
channels then it moves to a 2.4 GHz channel and saves current
operating frequency band information, now again if a country
change happens SAP tries to move back to any allowed 5 GHz
DFS/non-DFS channel.
Sap should come to non-DFS channel first. If not available then
it should come on DFS channel
To address this issue, add a fix to check for first valid 5 GHz
non-DFS channel and first valid 5 GHz DFS channel. Move to
valid 5 GHz non-DFS channel if present.
Change-Id: I0cf3841e35e22efc0f518ce15b4cab40996cc645
CRs-Fixed: 3247522
Add change for WAPI IE in probe response introduced by
change : I9212e0fe9d495e8300a2bfbed65d398e0fb27170
and also add change to print mac address while
updating mac from old mac address to new mac address.
Change-Id: I6481b211fa26c540b079d119070cc2f1cc1d3abf
CRs-Fixed: 3249823
Currently the handler which dumps FISA stats, does not
check if the FISA feature has been enabled/disabled via
the INI. Accessing FST table when FISA has been disabled
via INI leads to unexpected assertion.
Fix this by checking if the FISA feature has been enabled
via INI, before accessing the FST table.
Change-Id: I5345138c5af03e3dd777bfe36004c477cff0ab7d
CRs-Fixed: 3249827
Currently, while we request netdev stats
we use the MAC address to find the DP interface.
There is a possibility that while we are
passing mac address to find DP interface
in parallel dynamic MAC update can happen
which will cause MAC address mismatch,
which will result in the DP interface not found
issue.
To fix the issue, instead of MAC address use
netdev name to search DP interface from
the list of available DP interface.
Change-Id: Ib04ce2fc7193be4733b16707600a10d3d729813c
CRs-Fixed: 3247725
Currently host driver does not update connected APs beacon
IE and because of this host is not able to pass this information
to userspace when it request for this info.
To address above issue, update connected APs beacon IE
correclty in host driver.
Change-Id: Id08d0162704883ad8ccb0f1c436aa8f9886f28c6
CRs-Fixed: 3193823
Firmware aborts the ongoing scan upon receiving new scan
channel list (through WMI_SCAN_CHAN_LIST_CMDID). Channel list
might get updated from userspace through commands like
country code change, power level change(SET_FCC_CHANNEL),...
It affects the features that are dependent on that scan,
e.g. ongoing connection, p2p find, etc.. Few frames might
be stuck in firmware as the scan is canceled.
It's recommended to defer the scan channel list update till
the current scan is done. This is already supported and
guarded through the ini param enable_pending_list_req
but disabled by default.
Enable the ini param to make sure above scenarios are not
affected due to channel list update.
Change-Id: I4176bb6a03657cf32f0c099b72254d61207ea6ca
CRs-Fixed: 3250137