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
To enable the tx queues faster during roam, boost the
CPU min frequencies to maximum once roam start is received,
and reset them once queues roam sync is complete or
roaming is aborted.
This change enables such support for lithium and Clarence targets.
Change-Id: I49d2f50f1c0142e7db1c981276bd08b75159b6d3
CRs-Fixed: 3487573
Add support for secure NAN and auth/deauth random TA feature by
enable compilation flag "WLAN_EXT_FEATURE_SECURE_NAN" and
"WLAN_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA"
Change-Id: I23788c3f48a61d8dc293b1049aa027a725386f6a
CRs-Fixed: 3493515
IEEE 802.11be enables multiple links between STA and AP. Each of the
link has its own set of statistics. Add additional attributes required
to fetch link layer statistics per MLO link.
For MLO connection, per MLO link statistics will be sent with the new
attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK. Also, cumulative
statistics of all the MLO links will be sent outside
QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK to be compatible with legacy user
space.
For non-MLO connection, the statistics will be sent without being nested
inside QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK attribute.
Change-Id: I2abe31ad754e59c101ff79dd3ae956bc93880a33
CRs-Fixed: 3488156
Define bitmap values used by LL_STATS vendor command
and update the corresponding kernel documentation.
Change-Id: I70c86926a19907a2a1053bccbd7b316b198e1fb8
CRs-Fixed: 3488125
Currently the vendor attributes qca_wlan_vendor_attr_ll_stats_set,
qca_wlan_vendor_attr_ll_stats_clr, qca_wlan_vendor_attr_ll_stats_get and
qca_wlan_vendor_attr_ll_stats_results for LL_STATS vendor command
are not in sync with the upstream code.
So, fix the differences and match downstream code for LL_STATS vendor
command with upstream code.
Change-Id: I373470e1217f7da82bb25b40e07ed96d1b1a1d6c
CRs-Fixed: 3489509
When user space triggers a scan, the firmware aborts background scan,
and uses the roam status QCA_ROAM_FAIL_REASON_CURR_AP_STILL_OK instead
of "Invalid roam failures reason".
Change-Id: I8a6ed222342398d21d87e7d31956426f3c99cba0
CRs-Fixed: 3481633
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.
WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not
2. Register osif callback to send scan done indication to upper
layer
3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz
Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
Define a new attribute QCA_WLAN_VENDOR_ATTR_CONFIG_AP_ALLOWED_FREQ_LIST
to configure the full list of allowed frequencies for the AP operation.
The configuration is valid only from the next BSS start until the BSS is
stopped. The drivers shall filter out channels on top of this list of
channels based on regulatory or other constraints. This can be used to
specify user's choice of frequencies, allowed list of channels with
static puncturing feature, etc.
Change-Id: Ib74acf2df17d8eb0fb65febc3b3cf54c39de6fc4
CRs-Fixed: 3453682
Add a vendor feature flag for the driver to indicate support
for allowed frequency configuration in AP mode.
Change-Id: I5c4483b229fa68c89a80272ec1ae3f5a95452f6d
CRs-Fixed: 3454926