Define an attribute for high RSSI roam trigger threshold. STA is
expected to trigger roam if the current connected AP's RSSI gets above
this high RSSI threshold. STA's roam attempt on high RSSI threshold aims
to find candidates from other better Wi-Fi bands.
Change-Id: Ie0323ff990e2679fd9768d2242730f7369cdb64f
CRs-Fixed: 3586127
Add vendor attribute IDs QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ORIGINAL_BSSID,
QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CANDIDATE_BSSID, and
QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ROAMED_BSSID for updating roaming AP
BSSID to user space to enable user space collecting the BSSID for
roaming issues.
Change-Id: I7e41762309740e4b705c58d9340ad20fb179172b
CRs-Fixed: 3582516
VDEV is moved to INIT state as part of link switch disconnect,
before set MAC address response is received, any disconnect
request on this VDEV will not be handled as VDEV is in INIT
state, if link switch is in progress then it will abort link
switch and starts link switch dequeue process.
If the new disconnect request is from userspace it will
increment the OSIF ops, but if link switch is on assoc VDEV
OSIF is notified to restore the adapter deflink as part of
link switch complete where it wait for all OSIF ops to
complete. This is a deadlock case where driver is waiting
for ops completion on same thread where ops is initiated.
To fix this issue, do not handle link switch dequeue on the
same thread, instead move the link switch state to abort
and when actual link switch thread comes it will flush from
serialization.
If userspace disconnect is not queued as VDEV is in INIT
state due to link switch, kernel won't be notified about
the disconnect as this notification is only done on assoc
VDEV and any further connect requests from supplicant gets
dropped in kernel saying already connected and supplicant
will immediately try disconnect which driver will again
drop as VDEV is in INIT state. To avoid this kernel-driver
out of sync, forcefully move VDEV to disconnecting state
and queue the disconnect request.
Change-Id: I116859601ebba21d44797e74e160b56532ef833c
CRs-Fixed: 3588936
Extend enum qca_wlan_vendor_attr_mlo_peer_prim_netdev_event to add MLD
MAC address, the number of links, and link info. Link info contains
ifindex and MAC address of each link of a non-AP MLD that was negotiated
in ML association.
CRs-Fixed: 3591427
Change-Id: I82adfc6a0c0cd31a2a322c09b25f93cfe9753343
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.
Change-Id: I7b893b04498957eb4a7e9f74c4b4395d4a823bf9
CRs-Fixed: 3536612
With MLO link removal, AP can remove a link that happens to be the assoc
link for a given Non-AP MLD. So far, the Non-AP MLD has been using the
assoc link to interact with other layers and make various decisions.
Change those behaviors on a case-by-case basis.
CRs-Fixed: 3577559
Change-Id: Iaa001bdd2571bce424a953caa3197a99a6f84180
QCA vendor extension is used for NDP setup. This defines the new
attributes QCA_WLAN_VENDOR_ATTR_NDP_CSIA_CAPABILITIES and
QCA_WLAN_VENDOR_ATTR_NDP_GTK_REQUIRED to support GTKSA, IGTKSA,
and BIGTKSA for NDP setup.
Change-Id: Iddd9d0f88d1d5d66fd72dc158801ad16c14f39e2
CRs-Fixed: 3583158
After link switch, the assoc vdev and link vdev could change.
So once the link switch is complete, change the roam state to
DEINIT for the link vdevs
Change-Id: I3e583fc1cb5be8d17d8680dab96461b058740c0a
CRs-Fixed: 3581730
Send bridge partner details during peer create and peer
assoc. The partner of bridge peer are saved which are used later
during bridge peer create and assoc. Also add bridge peer partner
details while sending peer create and assoc on actual links.
CRs-Fixed: 3574656
Change-Id: I755614a131f6552ac28377d2c7648db4fd87b8df
Extend QCA_WLAN_VENDOR_ATTR_CONFIG_OPTIMIZED_POWER_MANAGEMENT
attribute to support enum qca_wlan_vendor_opm_mode.
Add QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_OPM_ITO and
QCA_WLAN_VENDOR_ATTR_CONFIG_OPM_SPEC_WAKE to configure inactivity
timeout and speculative wake interval in User defined optimized
power save mode.
Change-Id: I726ca91638e07fd1efae4921519bb6affc8b9c21
CRs-Fixed: 3567041
After successful connection with an AP, driver fills the struct
cfg80211_connect_resp_params and sends it to the kernel.
For an MLO connection, the link's mac address field in the struct
is updated by AP's mac address instead of link's self_mac address.
So, update the kernel struct properly, to avoid issues.
Change-Id: I4d1ea4ee3fe5272dd4e08c0edd22b1df5c7999a3
CRs-Fixed: 3579820
Current code supports CFG80211_MULTI_AKM_CONNECT_SUPPORT only for
v5.15 kernel.
Enable this feature support from kernelv6.0 by default.
Change-Id: Ie0d36c6e6d286a432bcaa99ee905858e70297ba1
CRs-Fixed: 3577264
When HOST based TWT is triggered from userspace, while disabling
congestion based TWT, disable/enable TWT may fail due to ongoing
roam operations in firmware. These changes return error code EBUSY
in failure case in vendor command context to userspace.
Change-Id: I3da64b6ea4dcf08cf80966cd7639d8945fe46417
CRs-Fixed: 3520189
Introduce following for link switch disconnect:
1) Connect request source.
2) Connect request reason.
If the set MAC address response for new link is successful, post
connection on new link and transition the link switch state to
connecting. If the status of connection is successful, update
the state to link switch complete or else directly go for
deserializing link switch command and posting response to FW.
Based on the final state of link switch at the time of sending
FW response, send the appropirate status of link switch and reset
the state of link switch to idle post FW notify.
Don't unlink BSS incase of failure in connection.
Don't indicate connect results to userspace.
As we are already in serialization due to link switch,
don't serialize/deserialize connection command if it
is due to link switch.
Incase of race condition between link switch connect and
userspace connect/disconnect always abort link switch connect.
Change-Id: Ie350b52021c36802b82d6cb5f6f441fe1bd10458
CRs-Fixed: 3556529
Introduce following for link switch disconnect:
1) Disconnect source.
2) Disconnect reason.
3) Link switch BIT in CM_ID to identify link switch request
Don't notify link switch disconnect to initiate disconnect on
other connect VDEV of MLO mgr.
Don't notify userspace if the disconnect request is due to
link switch.
Don't notify netdev to stop queues on link switch disconnect.
Don't flush any pending disconnect/connect request on complete
of link switch disconnect request.
Don't attempt to serialize/deserialize disconnect command
if it is a link switch command ID due to either disconnect request,
disconnect complete or disconnect request flush.
Before start of link switch set the VDEV flag as MLO link VDEV
to leverage the disconnect/connect checks for link VDEV and
restore the flag at the end of link switch. This will impact
when link switch on assoc VDEV is received for which initially
the flag is not set.
Check status of link switch disconnect done API to either
proceed further in link switch or terminate the link switch.
If any userspace disconnect and link switch disconnect race
condition, always abort link switch disconnect and notify
failure to FW.
Change-Id: I6ec2a850d49f5ec6df2ec868c290f19203cd8c88
CRs-Fixed: 3556481
1. APIs to check topology to see if the bridge vap/peer will be used.
2. API to check the max number of links supported.
Also check if we can have the primary and assoc links to be different
for WDS STATION. Based on the topology allow/block
connection to a particular AP.
CRs-Fixed: 3562149
Change-Id: Icf3b32036199f39b0d567ac88795dc07760ac1a5
Notify OSIF about each connected link once assoc VDEV connection
is completed, call the ops callback registered while filling
kernel data structure for each link.
Earlier post connection each VDEV's OSIF callback is called to notify
individually, but this leaves the OSIF unaware of standby link details
as the standby link doesn't have VDEV associated with it.
Change-Id: I027b91d02bdc4412400a7e66f11911da149e672b
CRs-Fixed: 3556378
After mlo connection is completed driver send the connect resp event
to kernel. As of now, driver gets the ML param info from the assoc_rsp IE.
For stand_by link, driver don't have vdev. Due to this, driver can't send the
stand_by info to kernel.
Fix is, instead of assoc_rsp IE driver will use mlo_mgr to get the links
information.
Change-Id: I8da762bed94de4ad2b024183c09b3d0a0f1b7ca4
CRs-Fixed: 3530712
Currently, We are using GET_STATION_INFO_REMOTE_CH_WIDTH
attribute for remote channel width which is using u8 for
storing the channel width info. However, for 320 MHz there
is a need to use u16 attribute to store the channel width
info.
This change is to preserve old interface and use new
interface to store u16 attribute for remote channel width.
Change-Id: I01eb246c380a6155d0d96032549eee53a877cb2a
CRs-Fixed: 3567663
Extend bitwise mask in enum qca_wlan_tdls_caps_features_supported to get
the TDLS wider bandwidth capability from the driver.
Change-Id: I7e7209f72c7d8db3ac06ecafdfe91deb7438e1b2
CRs-Fixed: 3552602
Currently, we are storing keys based on vdev object.
However, with n link mlo there is a need to store keys
based on psoc level.
This change is to store keys based on psoc level.
Change-Id: I457704ce40ed450516b0a99b4021b68df112a600
CRs-Fixed: 3565184
Introduced new macro CFG80211_PUNCTURING_SINGLE_NETDEV_API
to be used if we want to pass puncture bitmap as an argument
to kernel, else disable it.
Change-Id: I136e09d547bc14e57be5ee0b026a51f0d6e4a525
CRs-Fixed: 3487912
Currently in driver, two macros are defined to specify the
mac address printing format. Since both macros achieve
the same result, replace all instances of QDF_FULL_MAC_FMT
with QDF_MAC_ADDR_FMT.
Change-Id: I195448267ef8e77a7fd5b232ffbf2cfb0ded1be4
CRs-Fixed: 3559488
Currently crypto module is using wlan_cfg80211_translate_key
api to translate cfg80211 keys based on vdev level.
However, there is a need to translate cfg80211 keys
based on psoc level.
The change is to use wlan_cfg80211_translate_ml_sta_key
api to translate cfg80211 keys based on psoc level.
Change-Id: Id642dfb0b864f4351d9cac055ad268dfcd51ae88
CRs-Fixed: 3549391
In current scenario osif_cm_free_connect_req() and mlo_free_connect_ies()
used to free up connect request and its sub memory.
Similarly cm_free_connect_req() and cm_free_connect_req_param() also
free up the connect request and its sub memory.
So replace osif_cm_free_connect_req() with ucfg_cm_free_connect_req(),
mlo_free_connect_ies() and qdf_mem_free() with wlan_cm_free_connect_req()
and mlo_free_connect_ies() with wlan_cm_free_connect_req_param().
Change-Id: Ie62603652dd77ae5ae9f7b7085d4b9bb257eaf53
CRs-Fixed: 3554234
Define a new QCA vendor attribute to enable/disable trigger
based UL MU transmission.
Change-Id: Ide36ec4869dc462879a57ff9a1e06f9f48e5c8d0
CRs-Fixed: 3538865
Masking the MLO API, mlo_setup_get_total_socs
using ic_eht_target check for non-MLDs in cmn_dev.
CRs-Fixed: 3551482
Change-Id: I8d585f534146f58beee605b2165bb0c51fc5bdb9
Add support for per-MLO link configurations in
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.
Additionally, add documentation for
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.
Change-Id: Id83912079b3a4876891ac48beb069b17d4b8ebbf
CRs-Fixed: 3540412
Add support to control maximum allowed bandwidth update type for
the current connection.
Change-Id: I27880a5a969adf46861a58907d1e9e8ec35f9053
CRs-Fixed: 3540098
Host driver is currently indicating link reconfig
event on link vdev.
Change is to indicate link reconfig on the primary vdev
affiliated with wlan0.
Change-Id: I9955d98bcd52554adf22f838bfbd2263418432d1
CRs-Fixed: 3535940
CPU min frequency is boosted to maximum once roam start is received
Add support to reset CPU frequency in case of HO failure.
Change-Id: I137f78e3a307be136bcc27760be3d91cb6c1868b
CRs-Fixed: 3522954
Currently there is no feature capability support for ll_lt_sap
and host driver and user space assumes that support for ll_lt_sap
is always present which not always true.
This may result in unexpected behavior if firmware does not
support ll_lt_sap.
To address this issue, add a feature capability to indicate
to userspace if host driver and firmware supports ll_lt_sap.
Change-Id: I4a2cc4fdb3d48469a5b1a4be32a4e760543b16cb
CRs-Fixed: 3520969
Change log level from error to debug since
it is non-critical case if spectral scan
disabled and do not need to setup netlink
socket.
Change-Id: Ib0eb61ddeea73ee23c9dd2874494a0334b177fcd
CRs-Fixed: 3527726
Define a QCA vendor command to configure MLO link id to the driver on
which the TDLS discovery response frame needs to be transmitted when the
local station is connected in MLO mode. This command is configured to
the driver the prior to every TDLS discover frame transmission when the
station is connected in MLO mode. If the station is connected in non-MLO
mode this command is not configured to the driver for TDLS discovery
frame transmission.
Change-Id: I5815a604d44549cd650744e3fd8c8ca79a076dbc
CRs-Fixed: 3523774
Add a new vendor command and attributes to notify TID-to-link
mapping changes to the userspace.
Change-Id: I9210103807f89f31ddf99965098a78bb4a798665
CRs-Fixed: 3516368
Add AFC common North Bound vendor command handlers and common AFC
PSOC/PDEV register functions.
Change-Id: Id87c3c4878362a48546d39e10230d60c2c573154
CRs-Fixed: 3375632
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.
Change-Id: Idf882cb22ccbd1c8b4ad6f03c6d27980cdbaef50
CRs-Fixed: 3481313
Add a new vendor command and attributes to indicate STA MLD setup links
removal.
Change-Id: If5dca34fa533fa76a8a1e8af456e3c893affbba0
CRs-Fixed: 3510765
Add vendor attributes for EHT testbed STA configuration.
This includes enabling STR MLMR mode and forcing power save
on active MLO links for a defined number of beacon periods.
Change-Id: Ie1808319c9e05901a996d122cc5afeb45bc07ce5
CRs-Fixed: 3497681
Add vendor attributes related to MLO and EMLSR mode
capability configuration for EHT testbed STA. It includes
EHT OM control support and EMLSR padding delay configuration.
Also, generalise the naming of HE OMI control enumeration to
OMI control as it now consists of both HE and EHT OMI control
fields.
Change-Id: I31f4935d59356f67a8ca0f065001325bafb3474a
CRs-Fixed: 3497673
Add vendor attributes related to MLO and EMLSR mode capability
configuration for EHT DUT. This includes forcing active MLO links
and invoking EMLSR mode entry or exit.
Change-Id: Icaf4dda1a614be5fe56966b0f2f2862ac6d62fb4
CRs-Fixed: 3497684
In the latest msm-5.15 kernel, cfg80211_ch_switch_notify() expects
a new argument, puncture bitmap. Hence, enable the appropriate API
call definition to match the number of arguments.
CRs-Fixed: 3505931
Change-Id: I2a043ddf4e9de111158160910228b00f850a5f52
Define new driver internal flag which determines the kernel
support for eht flags in station_parameters structure.
Change-Id: If5518f97912edbd74cb6b38c832641a7999c974e
CRs-Fixed: 3484143