The host driver now sends a notification to the
firmware when a CSA (Channel Switch Announcement)
is rejected due to no change in channel, bandwidth,
or puncture.
Change-Id: I5d8a424459898d15a7931baf7ca4c3de8308c64e
CRs-Fixed: 3595843
As part of new requirement for coex logging, add new sys node to
send the coex logging configuration command to firmware.
Change-Id: I9d5a42d382cd14e4520eb16a924bdc32d160ef05
CRs-Fixed: 3613443
Currently, host driver extracts the BSSID from pe session while
filling parameters in diag event report. For NDI, it caches BSSID
as self mac address.
To fix this, extract the BSSID from the input frame and report it
in diag event.
Change-Id: I413fe1b46f4a49e6fd090642c38d8d1c3790a04d
CRs-Fixed: 3624272
Currently use wlan_reg_chan_has_dfs_attribute_for_freq() to check SAP
start on DFS channel or not, it only check home channel not check other
channel in bandwidth. It may cause SAP on channel DFS channel go to
suspend, for example on channel 36 with bandwidth 160 MHz.
Use sap_chan_bond_dfs_sub_chan() API to check if home channel or other
channel in bandwidth is DFS channel, so that wakelock can correct hold
if SAP start on such DFS channel.
Change-Id: I4c57030a9147f5be4525d31b2bf7a034bea1f0e8
CRs-Fixed: 3623720
Currently, during assoc/reassoc frame handling current/limReAssocbssId
is compared with source address and if it doesn't match beacon gets freed
but the issue is cm state will be in connecting state as host doesn't
changing state, so scan will be paused when state is connecting.
Fix is to send join failure when bssid mismatch happens.
Change-Id: Ibe66afd31d7fc0d869c7a380a4a25dc06a2e9b62
CRs-Fixed: 3621011
Upon an update of the policy_mgr connection table, added logics
to get max bandwidth among all the available connections. The
max bandwidth is passed to HDD IPA component via policy_mgr DP
callbacks, which in turn is used to decide proper IPA perf levels.
Change-Id: I20b3e01b433db566bec2a315a76f3015869fc176
CRs-Fixed: 3609165
From the kernel, it is expected to hold the mutex lock while
channel switch notify.
Below are the cases:
1. As of now, in case of SAP, driver did not acquire the lock
hence kernel assert happened during channel switch notify.
2. In case of STA CSA, driver tried to acquire the mutex lock
and before that NB disconnect come and nl80211_disconnect is
holding dev->ieee80211_ptr->mtx during disconnect path and
waiting for disconnect completion, at the same time from
scheduler thread callback driver can’t acquire the same mutex
again since its already held by nl80211_disconnect.
The NB operation is dependent on scheduler to complete the
operations which is resulting into deadlock, as both are
waiting for each other to get completed (scheduler waiting
on the lock, while NB waiting on scheduler).
To fix it, as work queue is independent thread (No NB
operation depending on it), driver will not have this
deadlock and NB operation can complete its operation via
scheduler thread and release the lock, which then will
be acquired by WQ, which was waiting on the lock, to
continue its operation.
CRs-Fixed: 3618311
Change-Id: I7606ca51801ccca0aa464ec98dc9428af2ac5dd8
MLO parameter is not observed in association/reassociation
request/response logs when connected to MLO AP.
Call api wlan_populate_mlo_mgmt_event_param() in the
api cm_roam_mgmt_frame_event() in order to populate
MLO parameter in MGMT frame logs after roaming.
Change-Id: I9dbd1a224ec861964a78883088440d79ae80cdd6
CRs-Fixed: 3620741
There is no valid check for oci ie_len buffer while
typecasting, which may lead to OOB access.
Use dot11f_unpack_ie_oci to parse OCI IE to avoid
OOB read.
Change-Id: Iad8cc82072e8d729a4b95bc04c2e8df31e2582f4
CRs-Fixed: 3581129
Currently, host driver uses CM_ROAMING_HOST for ROAM_INVOKE for
both host initiated(e.g. connect on connect, qos,..) and user
initiated requests(e.g. REASSOC ioctl).
The expectations are different for these cases upon ROAM_INVOKE
failure as explained below,
1. connect-on-connect/FASTREASSOC case: Expectation upon
ROAM_INVOKE failure is to disconnect from current AP as this
status needs to be sent to kernel.
2. REASSOC ioctl: Expectation upon ROAM_INVOKE failure is to stay
connected to the current AP.
So, define a new source CM_ROAMING_USER for REASSOC and use it to
differentiate from CM_ROAMING_HOST to avoid disconnection.
Also, pass right cm_id to WLAN_CM_SM_EV_ROAM_INVOKE_FAIL to
gracefully remove the ROAM command from SER queue.
Change-Id: I0d48d4773c659e667d87c9583ce6530543998e19
CRs-Fixed: 3621341
Currently, host driver picks minimum of the self and AP's NSS
capability at the time of join. Host driver sends the same to
firmware through vdev_start. But APs may upgrade NSS to higher
value during connect. As the NSS is already limited to min at
the time of join, STA is not able to use full capability and
connection also happens with min capability.
So, send self max NSS capability to firmware via vdev_start and
final value(min of self and AP's cap) is sent to firmware
through peer_assoc.
Also, cleanup the ini gActionOUIForceMaxNss as it's no
longer needed.
Change-Id: I0555059d03c77e55a4ccf1543e709904e6ea4e49
CRs-Fixed: 3615495
If any force active link bitmap is present, we have
to clear the force active bitmap from target. Otherwise
that will be conflict with the force inactive num bitmap,
then target can't handle force inactive num 1 command to
exit EMLSR.
Change-Id: Ia3fbcc3ca188ce1e1c93f4d0b0439ac126aeb8cb
CRs-Fixed: 3616604
For STA + RX monitor mode, When create monitor iface, driver will disable
IMPS, but if it is 1st up interface before wlan0, driver need idle
restart, it will enable IMPS again.
To fix it, When start adapter for monitor iface, disable IMPS.
Change-Id: I0e9f83df2cfc144738bf02e7d25e30c82b5da693
CRs-Fixed: 3619941
As per current logic FW sends value of cycle_count, rx_clear_count
and tx_frame_count in usec not in ticks for all chipsets.
No need to divide cycle_count, rx_clear_count and tx_frame_count
by FW clock frequency in host.
Change-Id: Ic319ff3f0b6a776b0522471d51f01f7eeafa1dd5
CRs-Fixed: 3602740
In the scenario about MLO 5 GHz + 6 GHz and 6 GHz is non-tx AP in
MBSSID, if DUT tries to connect 5 GHz link as assoc link and uses
the scan entry generated from 5 GHz beacon. Then there is no info
about profile index and count in the scan entry and these info is
necessary for firmware when vdev up.
To resolve this issue, get the info from 6 GHz scan entry if it
exists.
CRs-Fixed: 3619192
Change-Id: Id18b56ed52055fbd9cdce07d1bb9fd4b20fc1c44
Add support for T2LM status event for connectivity
logging.
For T2LM status event, band, tid_ul and tid_dl are
the parameter used for connectivity logging.
Change-Id: Ifdb763185af88617b90ea761e7d10cc35c628808
CRs-Fixed: 3609648
Currently, when host driver attempting to send the keys
during a link switch, the absence of a key was not handled,
resulting in firmware crashes.
This change is to assert host driver in the event that
no key is found during a link switch.
Change-Id: I7abe452c7dfa1e203c6af563163cf2d5589ab929
CRs-Fixed: 3604274
Currently, Host driver is using MLD mac address
for TWT set peer capabilities after the roaming.
This change is to use peer link address for setting
TWT peer caps after roaming, for multi link roaming.
Change-Id: I6cdfda5ee9f75a3509b5f12bdbbce92f8202397c
CRs-Fixed: 3618635
Currently, host driver extracts the BSSID from pe session while
prepare the ADDBA response. For NDI, it caches BSSID as self mac
address. So, peer receives wrong BSSID from ADDBA response.
To fix this, extract the BSSID from ADDBA request frame and sent it
in ADDBA response frame.
Change-Id: I8addf0f128b1befbfdf3fa68a2e37c511ff5a58f
CRs-Fixed: 3617624
1. Link switch request received on VDEV0 and host moved it as link VDEV to
process it.
a. Link switch is currently in connecting state on new link.+
2. There is SAP interface for which VDEV is created which was
ongoing interface down from framework.
a.As part of this, if any ongoing connection is in
progress on STA/P2P-CLI interface those will be terminated to
avoid timeout issues as connection might take more time if
trying multiple candidates due to failure and this can lead to
SAP stop timeout and peer leak.
3. Disconnect is issued as link switch VDEV is in connecting state.
a. Disconnect is serialized first on VDEV as VDEV0 is set as link VDEV) then later on
VDEV1
4. Link switch is completed, VDEV flags are restored and cmd is removed from serialization,
then VDEV0 disconnect (queued in 3.a) got active.
a.On disconnect complete on VDEV0 kernel is notified.
b.Framework initiated set mac address even before VDEV1 disconnect is completed.
c. FW asserted as VDEV1 is still in UP state.
Do not abort connection if that VDEV is in link switch progress.
CRs-Fixed: 3614424
Change-Id: Ia56c832706878c4df7261f8c59769ab783c12cfb
While unpacking the T2LM response frame after TX completion
response, the CCMP MIC Length (8) is not considered, if the
frame is protected. This causes invalid data to be read after
the unpack and wrong information is logged in the connectivity
logging event.
Increment the Fixed fields start offset by MIC length(8) before
unpacking the frame to destination structure.
Change-Id: I171ff9458e7e1aaf62d39f0685e5a2978788ec4c
CRs-Fixed: 3619761
If the monitor_mode_concurrency ini is set to 1 and SAP/P2P/NAN is trying
to come up when STA + connected monitor is running, then because of
this ini setting, SAP/P2P/NAN bring up is terminated.
Fix this issue by allowing the SAP/P2P/NAN to come up by terminating the
monitor interface if connected monitor is running.
Change-Id: Ic37d97522c1a1e72a8a1614d6eab2c411ab46f3e
CRs-Fixed: 3610132
The item "bss_max_idle_period" is not an ini item and we can only
use it's default value 0. It's not convenient to set it a value
that user required. So set it to an ini item.
Change-Id: Ie514992448cde192ffd6f1402a4477fabbbae741
CRs-Fixed: 3591728
Add support to allow PCIE Gen Speed and Lane width
to be configured by host via OEM data commands.
Change-Id: Ifc4c50bf339639c3f43de1107a8a76a043df8c4b
CRs-Fixed: 3615874
Currently if SAP channel switch fail, SAP will be stopped by function
wlansap_stop_bss(), but this function will not clear connection info
in policy manager, it lead to some concurrency check failure, and SAP
stopped event will not notify user space.
Add SAP channel change response status to SAP channel change response
event, and check if status fail schedule worker to stop SAP completely,
so that can notify policy manager and user space about this SAP stopped
event. And do not have to indicate new channel to kernel if channel
change failed. If CSA procedure interrupt by SAP stop, clear channel
switch in progress flag after SAP stopped.
Change-Id: I802404a4ed4948d072525d6e3676866c382eb442
CRs-Fixed: 3586579
Currently, even if dual sta roam support is not present, RSO
is being enabled for both the STA connections. This leads to
asserts in firmware.
To fix, do not initialize RSO state machine for the second STA
connection, if RSO is enabled for the first STA.
CRs-Fixed: 3612478
Change-Id: I9b7698770dd05139f6323846d78e931db58ce4a8
Add support to enable SR feature for 6750
target and return failure for SR commands if
SR feature is not enabled instead of returning
Success.
CRs-Fixed: 3619084
Change-Id: I5e19ffd758d0325e0fa26b61473b0192e110ce60
Current code does not have DP threshold configs
propagated to peach configs. Fix this by adding
those configs to pineapple peach defconfig file.
Change-Id: Ie48e051362bb46ce1d9c88b2de414cc85edf813a
CRs-Fixed: 3618684
Introduce support for MLO Reconfig event for connectivity
logging.
In MLO reconfig event, ban and link id are sent for
logging.
Change-Id: I2de6edff91ae344e2d9e11fb89216dab17384980
CRs-Fixed: 3606709
Introduce support to add frequency to peer in
order to enable Connectivity diag logging for
datapath related events
Change-Id: I634ddc0206530f1039a37fd60643877b2fdf7e87
CRs-Fixed: 3596250