On client connection, send the client's MLD address, assoc response IEs
and the link_id of SAP on which the new client is added.
For non-MLO capable clients the MLD is sent as NULL address
On ML client disconnection, use MLD address of the client as argument
to cfg80211_del_sta().
For non-MLO client disconnection, use the legacy address of the client
as argument to cfg80211_del_sta().
Change-Id: I43cb8e688251b6118932e1ae88f7abdf53dd54a0
CRs-Fixed: 3324216
Currently general PM delay is 500 ms. If fw sends wow wakeup with reason
code WOW_REASON_LOCAL_DATA_UC_DROP host wakes up, 500 ms after the
transactions again runtime suspend takes effect. Every time FW sends wow
wake there will be a small delay induced. It is noticed that large
frames are getting dropped for continuous wow wakeup events.
To address this issue increase PM delay to 1200 ms if fw sends
wow wake for reason WOW_REASON_LOCAL_DATA_UC_DROP and again
revert it back to 500 ms on next WoW enter.
Change-Id: I57bafc5ae8a633f1f685201ceb5936b59c985148
CRs-Fixed: 3330844
Kernel doc mismatch in policy_mgr_are_sbs_chan(). Correct it
by adding proper argument.
Change-Id: Ic72659df96bac1f98323ec7a9d339d0a975434a0
CRs-Fixed: 3336165
The kernel-doc script identified several documentation issues in
wmi_unified_coap_api.h, so fix them.
Change-Id: Ied119dcf6acd477981c990007a916c66689bcce8
CRs-Fixed: 3331885
Allocate a dedicated rx refill ring for use by LPASS
WiFi driver to provide buffers back to FW in the
Direct Link datapath.
Change-Id: I3b59e2fd3973f37fc2cc77898c4dcf09fc5def57
CRs-Fixed: 3317972
In the api cm_roam_mgmt_frame_event(), the rssi is logged
as a positive value.
Modify cm_roam_mgmt_frame_event() to log rssi value as
a negative value.
Change-Id: I1af7827beda23381e89880cf7ef73c24a7e38a15
CRs-Fixed: 3327027
current observation is as following,
(1) RX UDP data length less then 12 bytes and they are aggregated
by FISA.
(2) aggregated UDP data might not be supported by user APP or they
are forwarded to other netdev.
if above two is met, kernel panic appears.
no solid conclusion from kernel network currently,
as a SW WAR from wlan driver side, check if current UDP data
length < 16 bytes, skip FISA aggregation.
Change-Id: Ia9e46705c7ace6a6e5580494231056adf214d7b2
CRs-Fixed: 3330035
Policy manager restricts concurrent ML SAP and ML STA
operation in existing rules.
Allow atmost one ML SAP to exist and disallow any secondary
ML SAP start BSS.
Allow ML STA even if ML SAP is present, as only one ML SAP
is allowed, remove the code check for is ML SAP while checking
concurrency rules for ML STA.
Change-Id: Icced604c1685eaf00452b240d816fdd8bc2a97d2
CRs-Fixed: 3331402
Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.
Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold
Change-Id: I2a131ea9040c799bc12a17a9ce42be02da8a717b
CRs-Fixed: 3328189
Add support to register for LPASS data message htc service
for Direct Link datapath.
Change-Id: Iff9be53841088abe884d8e282bf13509a99ddeb2
CRs-Fixed: 3317634
FISA update may come when target in suspend state, then
UMAC force wake may return failure and lead to system timeout
crash. Change is used to defer the update when resume happens.
Change-Id: I8d3082355f780d11fd5047d67f916f0a7dd0c6e8
CRs-Fixed: 3325498
If ml sta is not "connected" state, no need to do link state handling.
After disconnected, target will clear the force active/inactive state
and host will remove the connection entry finally.
After roaming done, active/inactive will be re-calculated.
Change-Id: Ic9ba3e3ef704b3dcdd8185e9b0864a9cbac000c7
CRs-Fixed: 3322063
With 11be mlo, the number of open station interfaces is 3.
Modify the check in policy manager api for the same.
CRs-Fixed: 3320739
Change-Id: I89166ebdf1559cde6f77f5a5c535e5f2e81eefc5
Currently, roaming is disabled with requestor "RSO_CONNECT_START"
on the STA when concurrent P2P-client is connected .
It's re-enabled once the P2P-client is disconnected but with
requestor RSO_INVALID_REQUESTOR. Roaming module still doesn't
re-enable roaming as it expects roam-enable command from the
requestors(i.e. RSO_CONNECT_START in this case) which disabled
roaming.
Pass right requestor to re-enable roaming.
Change-Id: Icb3deeed788ca248391b4b84288229aea2bdb8c2
CRs-Fixed: 3330219
For MLO STA+SAP case, mlo link maybe in inactive state after
connected and the hw mode maybe not updated, check MCC/SCC by
policy_mgr_are_2_freq_on_same_mac may not match MCC/SCC state
after the link is activated by target later. So to check frequency
match or not to decide SAP do force SCC or not if MLO STA 2 links
are present.
Change-Id: I614e6879cf4f9614b979fc3c78f87b76fc6c7c16
CRs-Fixed: 3313043
Currently sme_switch_channel set new_ch_width as phy_ch_width, while
wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth
channel switch IE.
Clean up the code. Define new_ch_width in csa_offload_params as
phy_ch_width.
Change-Id: Iadecc7693bf4ffd9f9562405ef18ea9d25d45c9e
CRs-Fixed: 3324762
If existing STA+STA is MLO STA, the current HW mode is not
reliable because the STA link maybe inactive. HW mode may
change if MLO STA becomes active.
Add special handling to this case by checking MAC frequency
range to decide DBS or SBS.
Change-Id: I4d3728965d2f687805535abb0716bb1b58e1c51d
CRs-Fixed: 3328517
In concurrency case: GO on 5180 MHz, SAP on 5765 MHz,
MLO STA vdev 0 5180 MHz, MLO STA vdev 1 2462 MHz.
When the MLO STA is up and driver does force SCC on
SAP, the get PCL is failed because the GO vdev,
MLO STA vdev 0 and vdev 1 are all non-SBS channels
between each other. Driver doesn't handle the case in
policy_mgr_get_index_for_ml_sta_sap_sbs if current
hw mode is SBS. This case can happen the mlo sta link
vdev is inactive after get connected.
To fix it add new API:
policy_mgr_get_index_for_ml_sta_sap_hwmode_sbs to
handle it. It will return the correct PCL index
to avoid 3 home channels on same mac.
Change-Id: Ia16f8a391b34fc15287a93590b2c119d58250e20
CRs-Fixed: 3326358
Remove WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD which is sent to
initialize the hardware registers. The initialization of hardware
registers is done as part of WMI_VDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD
Change-Id: I272fbd6723836efb9864cb78bdaf3e0eacf45554
CRs-Fixed: 3329913
In case of ML SAP, userspace needs assoc resp IE to get all
the ML link info.
So, Add support to save assoc_resp ie pointer in peer common object
which will send to userspace.
Change-Id: If19857ecce62092b1aa4e7fef17c09e819822f5f
CRs-Fixed: 3325938
Add sr_enable_mode ini to check SR(Spatial Reuse)
can be enabled for non-STA mode or not. If SR
can't be enabled for non-STA mode and concurrency
is not allowed then don't allow any SR operation.
Change-Id: I876882c48c54f216bc1d0efa4dccce63f2a2e63c
CRs-Fixed: 3311374
Update CFG_DISCONNECT_ROAM_TRIGGER_MIN_RSSI INI min, max
and default values under macro
Change-Id: I9973a032d16c5d8aedb4ad77833b9124de719e86
CRs-Fixed: 3314826
Replace all occurrences of
wlan_reg_set_channel_params_for_freq API with new API
wlan_reg_set_channel_params_for_pwrmode.
Change-Id: I7ae94a7004803a96caeb7a77d03065096afe5f0e
CRs-Fixed: 3144793
Firmware may send two consecutive roam sync frame indications when
it supports MLO roaming. The first event carries link beacon and
second event carries assoc beacon. This is to let host driver have
both the link scan results if host has to take care of link
connect(e.g. OWE MLO roaming, EAP MLO roaming,.. ).
If host driver doesn't have support/doesn't need link beacon,
it would be overwritten by assoc beacon(e.g. wpa2 MLO roaming,
SAE MLO roaming, ..).
This results in a memleak as the previous cached beacon is
not freed(vdev->rso_cfg->roam_sync_frame_ind->bcn_probe_rsp).
Free the existing beacon if new one is received. Also, remove the
current free's from extract_roam_sync_frame_event_tlv() which
doesn't need any such freeing as the copy always happens to a
freshly allocated buffer.
Change-Id: If3b4d6e4b8e1e2af5306171ad7eda28e744da64e
CRs-Fixed: 3322094
Page fault reproted when all tdls peer list size exceed their max
size. So, add the change to avoid this issue.
Change-Id: I66b5f85c8cdc98491b33b2100a55f424d5531ca0
CRs-Fixed: 3321105
The feature raises a pulses at specified interval in TSF time domain.
The pulses can be used to determine driver level latency between hosts
as they are operating in same TSF time domain.
Add ini "g_tsf_accuracy_configs" to configure parameters for TSF accuracy
feature to customize GPIO pins and interval.
Change-Id: I49609d5beba8043ac2ecc086e97b01d1e0b2d3f6
CRs-Fixed: 3277992
Change "psoc" to "psoc_priv" in documentation of
wlan_action_oui_cleanup.
Correct documentation of API name for action_oui_psoc_enable.
Change-Id: I9e3adbf69ca40967f2680114f4c7f1bb22c391a1
CRs-Fixed: 3323128
Add ini support to configure traffic shaping for COEX
i.e. coex_tput_shaping_enable.Host sends this INI to
Firmware via WMI_COEX_CONFIG_ENABLE_TPUT_SHAPING.
Based on this enabled value, FW will do power save with AP
when BT page scan is enabled.
The default behaviour is to do a free run without notifying
a power save to the AP during the BT Page scan.
Change-Id: I4934c98911b66c7c834899ad7cdc72063e9c5153
CRs-Fixed: 3066980
The following change introduced a new misspelling of "disable", so fix
it.
- Change-Id Ie98a1b8681f41f3a63523ac40b5cfb688a7b0cb0
qcacld-3.0: Handle VENDOR_SUBCMD_SR and operation
Change-Id: I7a06c24cf732b12072377835f01bd50aa5785062
CRs-Fixed: 3319368
The following change introduced a misspelling of "threshold", so fix
it.
- Change-Id Ie98a1b8681f41f3a63523ac40b5cfb688a7b0cb0
qcacld-3.0: Handle VENDOR_SUBCMD_SR and operation
Change-Id: I255ef45d9978ce777a41564f0d05e6d99efe5a4b
CRs-Fixed: 3319363
Firmware handles all NAN concurrencies in the platforms which
don't advertise the WMI service cabability
WMI_SERVICE_NAN_DISABLE_SUPPORT. Host takes care of the NAN
concurrency if the capability is advertised by firmware.
But there can be some legacy targets where firmware wants to
offload NAN+TDLS concurrency alone to the host and it takes care
of rest of the concurrencies. This is to make NAN of higher
priority and disable TDLS when NAN is active. Currently, TDLS is
of more priority than NAN and it can't change the order as it
can't disable TDLS to change the priority.
Currently, driver doesn't parse the NAN messages(even NAN enable
request) in such platforms. Parse the NAN messages and disable
TDLS upon NAN enable request. Rely on NAN state machine to
allow/disallow new TDLS requests. This needs NAN enable status.
Change-Id: Ie9c7c1cc2f1ed6328a31b93077c2928940fc3450
CRs-Fixed: 3263730
If link beacon is not scanned, host driver will send ML probe request
and generate link scan entry from ML probe response. The ML probe
response does not include RNR IE. This is causing failure in the link
vdev connect path as the partner information is updated from rnr ie.
To fix this, for link vdev connection get partner link information from
connect request.
Change-Id: Id22f57cefbf28cb20fa7e17b4b71b362b1ba0ae5
CRs-Fixed: 3312421
Don't allow ML links to form MCC, if second
ML link is trying to form MCC then send disable
to FW and FW will decide which link to be disabled
to avoid MCC. Similarly if any SAP/P2P link disables
then ML STA link shouldn't enable back if it can cause
MCC with existing ML link.
Change-Id: I9bd8e257ad3fc3ee54d9e9d79c66962469b0b827
CRs-Fixed: 3313944
For eMLSR mode, the lower 27 bits of hw_mode_config_type
are HW mode and higher 5 bits are MLO Cap flag.
To update MAC frequency info correctly, get hw mode type
for eMLSR by macro WMI_BECAP_PHY_GET_HW_MODE_CFG().
Change-Id: I18a0afb26985b6ccda091fa1564713af0260353f
CRs-Fixed: 3314401
Host driver expects maximum of WLAN_UMAC_MLO_MAX_VDEVS links
info in roam sync indication. But firmware may send more
number of links than expected and it may lead to buffer overflow.
Add a check to validate the number of links.
Change-Id: Id89d23470622ba3ca7e01a99cc7c12021ca3dafd
CRs-Fixed: 3314460
With MACRO FEATURE_WLAN_CH_AVOID_EXT enabled,
"restriction_mask" can only be checked if
coex_unsafe_chan_nb_user_prefer = 1. If the INI
coex_unsafe_chan_nb_user_prefer = 0, do not need to check
"restriction_mask". It will remain uninitialized 0.
Change-Id: If7bd1223ee3779b72fadb40e622f682db03f4ea5
CRs-Fixed: 3287634
In case of MLO to SLO roaming, the connected links
bitmap is not reset for link vdev correctly.
To solve this post roaming, clear and then set the connected links bitmap.
Change-Id: I9e63593fe3452d0c2075360432dfaddc81999ae0
CRs-Fixed: 3317229
Currently, this MLO flag is being set/clear without regard for
concurrency. We need to lock the vdev when updating these values to
prevent race condition.
Change-Id: I7b1e6424d6fcedc6934a9f6aa1d01068a2b43277
CRs-Fixed: 3305564
If user sets flag ASSOC_REQ_DISABLE_EHT in connect request, driver
will send action oui "ffffff 00 01" to host mlme and also firmware
for action id ACTION_OUI_11BE_OUI_ALLOW, so that all the AP will
be not matched with this OUI and 802.11be mode will not be allowed,
possibly downgrade to 11ax will happen.
If user doesn't set ASSOC_REQ_DISABLE_EHT, driver/firmware will
recover to default oui setting.
Change-Id: I9eab732f1bd29018d44b215c1d6c9bfac9dafe95
CRs-Fixed: 3314489
Currently CH_WIDTH_MAX is set as default BW when sap do restart,
then apply some checking rules to get the final BW. It's possible
the final BW is greater than sap original BW. But a greater BW
isn't expected in some use cases where greater BW may introduce
some unexpected issues.
Add INI to configure sap original BW as default BW when do sap
restart as required.
Change-Id: Ie274a3eea73c2af9424a8b9ce21bee34eeaaef2e
CRs-Fixed: 3315486
This fixes a scheduler_msg CFI failure for function
mlme_wma_vdev_detach_post_cb().
Change-Id: I6271bf9de8d800aac8a804d1daf646063347a71c
CRs-Fixed: 3316558
Add check for QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL while
getting the sap mandatory frequency.
Change-Id: Ia1dfdfb0818ed94620295e3f4046fbe16b5a92d8
CRs-Fixed: 3301096
As part upgrading legacy APIs with 6 GHz power APIs
Replace all occurrences of
wlan_reg_is_passive_or_disable_for_freq API with new API
wlan_reg_is_passive_or_disable_for_pwrmode.
Change-Id: If8429146e3e4e4cb25505de9855671dca2eb6474
CRs-Fixed: 3306631