NDP peer gets created as part of NDP indication in case of NDP
initiator. But NDP may fail to form due to various reasons and
firmware may send NDP confirm with reject status in such cases
instead of NDP indication event.
Below is the detailed scenario,
1. On initiator side, it has sent an NDP request and is waiting
for NDP response.
2. On responder side, application/framework is preparing to send
NDP response with reject due to some config mismatch. At the
same time, NDP termination is also issued. So NDP termination
frame is sent successfully.
3. Initiator firmware receives this NDP end and it sends an NDP
confirm with REJECT to the host and it shall clean-up the
session.
Currrently, there is a check for the peer existence while
indicating this NDP confirm status to framework. There is no need
of this check in such failure cases as peer is not yet created.
Change-Id: Ibe94a5b67df1ce3d65eaf2ef37b11b08155752c9
CRs-Fixed: 3086975
Check mandatory freq for SAP only if STA is present.
Also allow SAP on a freq which can lead to SBS with STA freq and is
in mandatory freq list, if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
Allow ML SAP (SAP+SAP) on valid channels if gWlanMccToSccSwitchMode
is QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
As QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL is only valid for
STA+SAP case.
So if STA is not present skip the mandatory freq and allow ML SAP
on original freq.
Change-Id: I6e8cbc7f944b2fa99c1449c288b9593cc4ad9454
CRs-Fixed: 3114208
If reassoc MAC from user space is broadcast MAC as:
"wpa_cli DRIVER FASTREASSOC ff:ff:ff:ff:ff:ff 0",
user space invoked roaming candidate selection will be based on firmware
score algorithm, current connection will be kept if current AP has highest
score. It is requirement from customer which can avoid ping-pong roaming.
Change-Id: I8de3e2a26a6f346c900157aa823205f849d233f7
CRs-Fixed: 3106276
Check whether the two connections are on the same mac with
policy_mgr_are_2_freq_on_same_mac().
Change-Id: I480a344386d22aa2a210b6b4663f68998d9af8b1
CRs-Fixed: 3103087
CM, PE and WMA changes for mlo roaming
- Roam start and roam sync propogation updates.
- Handling connected link bitmap.
- Link specific assoc response generation
- WMA changes to handle add/remove peer
for mlo roaming scenarios.
Change-Id: I365a26ebb761d93dadd33c9fb8248c28e9eda94b
CRs-Fixed: 3033766
Update HW mode change tlv information to wma/policy mgr.
Losing the information will cause FW/host out of sync.
Change-Id: I1ba9931d10617664da653e85335fade1352c3600
CRs-Fixed: 3109789
Avoid printing of mac range in freq on same MAC APIs
(policy_mgr_are_2_freq_on_same_mac and
policy_mgr_are_3_freq_on_same_mac), and rate limit
other logs to avoid flooding of same info.
Change-Id: Ia6c3b2a71f81066e55b0200c6286939e146125b0
CRs-Fixed: 3111452
Replace blacklist/whitelist with denylist/allowlist for
blacklist manager component. and replace blm with dlm.
Change-Id: I8dec146d8cb3b61dc891b72bea44704b8ab733fe
CRs-Fixed: 3087575
When host resume, check arp offload status wrongly, so arp offload
disable cmd isn't sent to F/W. when next suspend comes, arp offload
enable cmd isn't sent too.
Change-Id: I06ea617df49287ee87e7b5bf8b20971b581dedf1
CRs-Fixed: 3106172
Treat MLO STA as a single entity in roam processing:
only process roam related requests on assoc vdev.
Change-Id: Ida9665771e00236c491f58dc764cc6e470dcb6df
CRs-Fixed: 3104659
- New api's added to handle mlo roaming scenarios.
- Read and store link addr from wmi.
Change-Id: I6a18802d27f72235dc69d2eedb05f3e563d1b0f4
CRs-Fixed: 2997105
When wmi_roam_synch_frame_event receieved from firmware, memory is
malloced to save probe rsp/reassoc req/reassoc rsp once extract event,
when copied to vdev rso_cfg->roam_sync_frame_ind, memory is malloc again,
and original memory isn't freed, memory leak happens.
To fix it, assure memory is only malloced once to save
probe rsp/reassoc req/reassoc rsp when handle wmi_roam_synch_frame_event.
Change-Id: I6b31378bcf624547fca9fd858268252fd22f533d
CRs-Fixed: 3107576
For MLO Roaming,
- RSO offload commands will be sent
to FW only on assoc vdev.
- Add new state for link vdev, will be
used only during roam sync.
Link vdev RSO state change : DEINIT -> MLO_ROAM_SYNCH -> DEINIT.
Change-Id: Ifb89e23fc48356ec8f0bc6a045f2dd4d81038076
CRs-Fixed: 3098570
Rename Legacy to non ML STA and MLO to ML STA in
if_mgr_handle_ml_sta_link_concurrency and related function.
Move if_mgr_get_ml_and_non_ml_sta_count to policy manager
util API. So that it can be used by other modules.
Change-Id: I61260ddf1c6008d8601efaac8d0e9e768e253499
CRs-Fixed: 3105269
As in SBS ML STA, both links are on 5Ghz, reject the 5Ghz
non-ML STA connection, to avoid enabling same band roaming on
both STA.
Also do not allow the SBS ML STA, if a non-ML STA is present
on 5Ghz.
Allow it only if primary interface is set OR dual STA roaming
is disabled.
Change-Id: I20a23ed3b4d87c9acac5417a6f2d484fc80f47d6
CRs-Fixed: 3103246
In force SCC logic if 6Ghz freq is not allowed on the SAP interface
get the low 5Ghz freq for SBS scenario as we have 2 5Ghz freqs present
in this case.
Change-Id: I0783e5cf2825ee4f10549826b6dd71677976e6c3
CRs-Fixed: 3103876
When STA+SAP concurrency, sta roaming pcl will remove all channels of SAP
band except scc channel to avoid mcc.
When SAP stopped, STA roaming pcl isn't updated for wrong vdev id is used,
so can't roam to all channels of old SAP band except scc channel to avoid
mcc.
Change-Id: I35adb55ac155e4c84f858f16796dbec12589ab2f
CRs-Fixed: 3102601
Currently there is no support to read bmiss stats from fw.
With this change, add support to read bmiss stats from fw.
Change-Id: I77594d05fbcd295aff4c625ba5f4f33cbc491063
CRs-Fixed: 3097304
A MLO with 1 link not active will lead to HW mode as SMM instead
of SBS, so check and see if SBS MLO is present and take
decision as per it.
Change-Id: Ide487d56d6375892b91ab615b9ad314dba2c9991
CRs-Fixed: 3102349
Currently in SAP mode, when host driver receives disconnect for
station, first it gets disconnect stats with serialization command
and then it sends delete peer command to fw. There is an issue with
this approach, if there are maximum number of clients are connected
to a SAP and all of these clients gets disconnected at the same
time, in that case there will be a disconnect stats command and
peer delete command in serialization, because of which serialization
queue gets full.
To address this issue, remove disconnect stats command from
serialization and send this command just before sending peer
delete command once peer delete command gets serialized.
Change-Id: I2fa1a5a393939eebbce796e11348fa7c040b40e8
CRs-Fixed: 3100914
Currently, the ini param "ndi_max_support" is set to 1 in the
ini definition though DUT can support maximum 2 NDIs.
Customers need to set the ini param to 2 in ini file
in order to support two NDIs. This ini param value needs
to be maintained across chipsets and android versions,
which is difficult.
Change the default value to 2 to avoid these. If any customer
needs the value to be 1, the same can be set in customer/target
specific ini files.
Change-Id: Id45147541dba057c2f3420adee43c7a56e3ee72b
CRs-Fixed: 3097045
In dual sta case, while vdev0 roaming, vdev1 tried to connect and
stop vdev0 roam. in lim_process_assoc_rsp_frame,
lim_is_roam_synch_in_progress return false, hdr is parsed as invalid
addr, assert when access hdr->sa.
Change-Id: I917dc064dbca5600fe3586ec08103fa62a1348ee
CRs-Fixed: 3100427
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.
To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.
Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
Add RSO state changing log to roam history log
so that help debug roam state change issues.
Change-Id: Ifb11013d83de6ee35241dd796df9a7ccbb1464e7
CRs-Fixed: 3094770
Add ini "disable_mcs13_support" to disable mcs13 to when SAP working
on 80p80MHZ/160MHZ/320MHZ and mcs12_13 supported.
Change-Id: Iff7043cc422cbe00fa771fe5fad9ad992d6deaf5
CRs-Fixed: 3062196
Add support to send qos null frames received from firmware on
STA interface to mon interface based on config value. The config
value get update based on vendor command set by user.
The packet filter check in ucfg_pkt_capture_process_mgmt_tx_data
moved to target_if_mgmt_offload_data_event_handler. So that we
will not allocate any buffer if filter is not set.
Change-Id: I426b340c5a65711ada971062af95ae039d18d0bd
CRs-Fixed: 3076241
As requirement, concurrent mode, station 5G/2G scan need stop when
AP connected by peer station.
Condition:
STA + AP 5G (connected) + AP 2.4G skip 5G scan
STA + AP 5G (connected) skip 5G scan
STA + AP 2.4G (connected && 2.4G only) skip 2.4G scan
Others concurrency skip none
Add API policy_mgr_scan_trim_chnls_for_connected_ap() to check if
need trim scan channel list. Which channel list need be trimmed.
Change-Id: I21da69fad617a6f342b9d902bf5b9d326ee1e11c
CRs-Fixed: 3075065
Fix policy_mgr_current_concurrency_is_scc() and
policy_mgr_current_concurrency_is_mcc() API for
3 port to consider mac_id.
Change-Id: I076e19d85f495d27b940c3cb6b3f3b1383d9b5e9
CRs-Fixed: 3093760
In packet capture mode currently the cck and ofdm flags are
filled by checking phy mode received from FW. But now FW is
sending below rate codes instead of phy mode. So update the
check in host to check rate code and based on rate code fill
cck and ofdm. The proper filling of cck and ofdm will help
Wireshark to derive correct phy type in the packet capture.
WIFI_HW_RATECODE_PREAM_OFDM,
WIFI_HW_RATECODE_PREAM_CCK,
WIFI_HW_RATECODE_PREAM_HT,
WIFI_HW_RATECODE_PREAM_VHT,
WIFI_HW_RATECODE_PREAM_HE,
Change-Id: Ie9b38dd403a0bf39397ff22e80dd24dfa152fdcd
CRs-Fixed: 3079456
In qdf_nbuf_update_radiotap rssi is filled based on flag
DP_MON_RSSI_IN_DBM. When this flag is enabled
qdf_nbuf_update_radiotap is expecting rssi value in dbm.
So fill rssi_comb based on flag DP_MON_RSSI_IN_DBM.
Change-Id: I9a6542cc27a5e19072e89ae78ff05f4392c64157
CRs-Fixed: 3083133
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).
Change-Id: I06a14d099c516767fe57ba94acc2a5fb95dc4e17
CRs-Fixed: 3052909
Besides MLO, legacy mode 6G SAP + 5G(2G) SAP are going to support RNR
IE. Move RNR related flag from MLO to private mlme component.
Remove mlo_rnr_updated in struct mlo_link_ie_info.
Add notify_co_located_ap_upt_rnr and related API in mlme_legacy_priv.
Change-Id: Ife86d1ed2fe8b633f6167750053b2aff37911299
CRs-Fixed: 3092483
Handle SAP + MLO_STA concurrency after MLO connect, by disabling
one of the SBS link if 2.4Ghz SAP is present.
Also if roam happen to non SBS MLO remove the disable restriction
of MLO.
Change-Id: I7d9503a01bb23cd06808b46c090f0dee39c96af6
CRs-Fixed: 3096310
To support 4 SAP concurrency on sdxlemur, they must work with mode
SAP+SAP(2g/SCC) & SAP+SAP(5g/SCC) or SAP+SAP(2g/SCC) & SAP+SAP(6g/SCC).
Add separate fourth_connection_pcl_dbs_table for mobile route devices,
adding 4 SAP cases, and modify policy manager to get pcl index when 4th
SAP being started.
Change-Id: I919fa6fa0bbacbe1be0d22ed2ffc9e322b6343e9
CRs-Fixed: 3092568
Release vdev ref count if roam sync event is not handled
in connecting or disconnecting in cm_fw_roam_sync_req.
Change-Id: I2575116dc4ed6a4e3ae31dac2c80191d420eaf3e
CRs-Fixed: 3092988
Handle SAP and MLO STA concurrency such as:
1) If MLO STA is present with both links
in 5/6 Ghz then SAP comes up on 2.4 Ghz,
then Disable one of the links.
2) If there is channel switch for sap from
2.4 ghz to 5 ghz, then enable both the
links as they were disabled by previous
operations when sap was on 2.4 ghz.
3) If MLO STA is present with both links in
5/6 Ghz and SAP, which was present on
2.4 ghz, stops then renable both the as
one of the links were disabled because
of sap on 2.4 ghz.
Also, in case where MLO STA roamed from
5 + 6 link to 2.4 + 5/6 link force scc
will happen and the disabled link has
to be enabled.
Both links should only be enabled if mlo
sta has more than one links.
Change-Id: I0fd0093b20336ae32325981589c399b44a44b64e
CRs-Fixed: 3092202
Optimize excessive SBS prints in policy_mgr_are_sbs_chan and
policy_mgr_is_cur_freq_range_sbs.
Change-Id: I379f3b1b050e08f6d76a7e657067ae66fe45c93c
CRs-Fixed: 3094259
Handle MLO STA + Legacy STA concurrencies such that:
1) Don't disable any link if STA form SCC with any of the
link.
2) Disable the link on the same MAC which can cause MCC.
a) On non-SBS devices disable the ML link on the same
band as STA, As the same band means the same MAC
in non-SBS mode.
b) On SBS devices, disable the ML link on the same MAC:
- If STA freq is 2.4Ghz disable the 2.4Ghz link.
If a 2.4Ghz link is not present, disable any of the
5/6Ghz links (FW to decide the link depending on
SBS mode, low share or high share).
- If STA freq is 5Ghz and can lead to SBS with on of
the link, disable the non-SBS link (link which will
remain on the same MAC).
- If STA freq is 5Ghz and cannot lead to SBS with
one of the links, disable the link on the same MAC/
band.
e.g:
STA freq: STA ML combo: NON SBS Action: SBS Action:
------------------------------------------------------------------
2Ghz 2Ghz+5/6Ghz Disable 2Ghz Disable 2Ghz
5Ghz 2Ghz+5/6Ghz Disable 5Ghz Disable 2.4Ghz
if both 5Ghz lead
to SBS, else
disable 5Ghz
5Ghz(lower) 5Ghz+6Ghz Disable 5Ghz Disable 5Ghz
5Ghz(higher) 5Ghz+6Ghz Disable 5Ghz Disable 6Ghz
2Ghz 5Ghz+6Ghz Disable Any Disable Any
Change-Id: Ie8ca51b5e108c1cfce1a02fc97f4849c617216b7
CRs-Fixed: 3090333
Fix filling of the SBS range, in current freq range.
And Add is current mode SBS in required APIs.
Change-Id: Ief334aa236ad18512ac5d8cf80b3a2d13d77529a
CRs-Fixed: 3093159
Currently the global vdev gp_pkt_capture_vdev used in packet capture
does not have ref count.
Add ref count for global vdev used in packet capture component.
Change-Id: I1cc619b31c81a77af0842ce219cfcc96060626a0
CRs-Fixed: 3049225
Currently for 6GHz, nan is allowed on LPI channels as well,
nan should be allowed only on VLP channels.
With this change allow nan only on VLP channels.
CRs-Fixed: 3072585
Change-Id: Ic8cd8a5ca5c096530762cc0f9d199cef30155838
Dump SBS range while checking for SBS mode in
policy_mgr_are_3_freq_on_same_mac and
policy_mgr_are_2_freq_on_same_mac
Change-Id: Ic8e6a49d60dcc82746a2b3e392576399dd1ad417
CRs-Fixed: 3092338
policy_mgr_dump_sbs_freq_range is flooding the logs with
SBS range, instead print it once when we check for
SCC channel.
Change-Id: I60e17f6fed3d0973f29d5225458a392021e482f7
CRs-Fixed: 3091231