Currently, if the AP advertises both Local and Regulatory
TPE IEs in the beacons, STA uses an INI to choose one over
the other. Vendor ask is to change this logic and allow STA
to use the minimum of the two TPE power limits. Also,
deprecate the INI that sets the preference between local
and regulatory TPE IEs.
CRs-Fixed: 3574510
Change-Id: Ibf19020d59621efa72cf290ef34c825fdb50e3e7
After roaming to 3 link AP, update the MLO manager with the
self link address received from the roam synch indication.
Change-Id: I6258abe7bb9e140307c30fee8701ef12a618d9f1
CRs-Fixed: 3591487
Add support for STA info logging via api
wlan_connectivity_sta_info_event()
STA info logs is sent immediately after the
connect request initiated from userspace.
Change-Id: I92c42c9ca27f90acae23452e8fba1f2b20396214
CRs-Fixed: 3597543
During refill thread cleanup shutdown event is posted and
we wait for thread to handle the shutdown event and exit.
But while posting shutdown event if refill thread is in running
state then there is chance of shutdown event not getting handled
and thread cleanup will be waiting indefinitely for thread to
exit.
Change-Id: I45bdad8d6a85b110ed7c7e206d3c79c5c03e9d98
CRs-Fixed: 3599295
Since peer link status bases on vdev and stream goes through
vdev0 (assoc link) at start, rx/tx pkt count on vdev0, but
it choices vdev1 as tdls link, the peer status does not change on
vdev1 though it has been changed for vdev0 per the rx/tx pkt count.
To resolve this issue, set peer link status properly when forward
discovery response frame.
CRs-Fixed: 3590371
Change-Id: Idfb0b8c43e3b8d5b67a387ba3b877def15130eb6
There are two APIs wlan_get_opmode_vdev_id and
wlan_get_opmode_from_vdev_id present in the host driver for the
same task.
With this change, remove the duplicate API wlan_get_opmode_vdev_id
from the host driver code.
Change-Id: I7ff45610ff18da9c002e22c5be06f1414d3835bc
CRs-Fixed: 3593560
when connect to IoT AP and BW is 160 MHz and max NSS is 2,
disable SU/MU beamformee.
Change-Id: Ib99072c36b72859cb1f8a4336f8aa7f696cb7d02
CRs-Fixed: 3583339
scenario:
fisa_flow->head_skb freed in dp_fisa_rx_get_flow_flush_vdev_ref(),
but fisa_flow_vdev returned from dp_fisa_rx_get_flow_flush_vdev_ref()
is not NULL, dp_rx_fisa_flush_udp_flow() will still try to deliver
fisa_flow->head_skb to stack, use after free.
return NULL if dp_fisa_rx_get_flow_flush_vdev_ref() has freed
fisa_flow->head_skb.
Change-Id: I5a467db63377e6b5f36c4bb1dfa0e3f35b73a442
CRs-Fixed: 3596691
Enable Flexible TWT when TWT feature is enable and either of
the TWT Requestor or Responder capability is enable.
Change-Id: I2f2b1c311d9aba6e09d309e83f37098175b80767
CRs-Fixed: 3422493
Introduce diag logging for STA info event and MLO events
via eventid EVENT_WLAN_CONN_STA_INFO, EVENT_WLAN_MLO_SETUP,
EVENT_WLAN_MLO_RECONFIG, EVENT_WLAN_MLO_T2LM_STATUS,
EVENT_WLAN_MLD_T2LM_REQ_RESP, EVENT_WLAN_MLO_T2LM_TEARDOWN
and EVENT_WLAN_MLO_LINK_STATUS
For MLO specific events band, link_id, status, tid_ul,
tid_dl, token, tx_status, reason active_links and
previous active links are sent.
For STA INFO event is_mlo flag, mld_macaddr, 2.4GHz_mac,
5GHz_mac and 6GHz_mac.
Change-Id: I1aa6195a481319f85cad26893789439c5c8291ea
CRs-Fixed: 3568508
Based on the new requirements, add logic to remove mac0 channels
from PCL for static sbs case for ll_lt_sap mode.
Change-Id: Ib50978b2959bafac27a1f0b432a08b6d3c08c2de
CRs-Fixed: 3582899
Currently, while processing ml vdev chain rssi stats, vdev_id
is not updated properly resulting in populating invalid chain
rssi values.
So, to resolve this issue, update correct vdev_id based on vdev
stats request_info structure for both MLO and Legacy connections.
Change-Id: I37d4001c2dee46396019ca662f89066f73ad4895
CRs-Fixed: 3595057
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.
To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.
Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.
CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
For MLO TDLS function, when it sends discovery request, it sets
the corresponding link as force active mode. Since the driver
sets link_ctrl_f_overwrite_active_bitmap by default currently.
It overwites the active link which is set earlier.
To resolve this issue, add sanity check about reason
MLO_LINK_FORCE_REASON_TDLS to follow the legacy process.
Change-Id: I51eb6464ffd7754e009aa993eae859268d19671a
CRs-Fixed: 3591556
Currently, host driver defines all concurrency with iface
combination structure and updates it by wiphy to userspace.
But non DBS target does not support the 3 port concurrencies.
So, to fix this, add the check for DBS target and for non DBS
targets filter out 2 port concurrencies from iface combinations
and update it to userspace.
Change-Id: I2bbe44f6cdfa1b49e3dbd9efe8b9bc45ddbed0ab
CRs-Fixed: 3583702
API policy_mgr_get_mode is not required anymore in the host driver,
with this change remove policy_mgr_get_mode API and related code.
Change-Id: I697eb928d9f55d80022b78ce238aa218451dfa0b
CRs-Fixed: 3582902
Currently there is no support to get the PCL for STA + LL_LT_SAP.
With this change add support to get the PCL for STA + LL_LT_SAP
from policy manager.
Change-Id: I830eb6e783a79b832ee6646c78d556b3e9526762
CRs-Fixed: 3592302
When link switch is in progress, the assoc vdev mlo link flags
get toggled and the flag is reset to actual value once the link
switch is complete.
During this time, if concurrent SAP channel switch happens, then
the RSO init/start happens on link vdev. This causes invalid
sequence of state changes on assoc vdev & roam commands get
sent on link vdev.
So avoid any RSO state changes on MLO vdev when link switch is
in progress.
Change-Id: I46af3ee511e2156ce1be032852aebdb18d4c7c02
CRs-Fixed: 3588178
Currently, if AP is sending T2LM action frame with standby
link mapping then STA host is rejecting the T2LM mapping and
sending status as WLAN_T2LM_RESP_TYPE_DENIED_TID_TO_LINK_MAPPING
to AP.
Fix is, STA handles T2Lm mapping if AP sends on standby link.
Change-Id: I8492fbaff7bffb32afa142bb11767e6202137cf5
CRs-Fixed: 3589843
For multi link connection there might be the case where
rsnxe of the AP is not present on the link vdev.
This causes the link vdev alone to downgrade to 11ax
mode and assoc vdev is in 11be dot11 mode.
So for vdev with ML peer, the dot11mode is 11ax,
which causes abnormal firmware behavior.
Reject the partner link that doesn’t pass the security
check and validate the next available partner link.
if none of the partner link passes the security check,
proceed connection with single link.
Change-Id: I07239f06e2fa166cb472e1f24d66b44929d58cbf
CRs-Fixed: 3583522
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50
Change-Id: Ieaa25a9c2b98f4c73cb89462463dd88ba5d11b53
CRs-Fixed: 3590251
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: Icfbb3a95dc65225fc7dad5df7dca9306a5029402
CRs-Fixed: 3536491
Add support to handle RRM Station statistics request (type == 7)
from AP. Based on the received group id, collect the corresponding
stats and send the RRM station statistics response to AP.
Send Report with incapable/Refused bit in below cases:
a.) Meas duration > threshold which is 10 seconds
b.) Groupid apart from 0, 1 or 10.
c.) Failure to start Timer.
d.) Response not received from FW for previous request.
e.) Another RRM STA STATS Request in progress.
f.) Another CP stats request in progress.
Change-Id: If93e9c51363daf9704a14df5822c8f7bfbd4b216
CRs-Fixed: 3583973
If a DUT accept channel load request, the STA should
response with a channel load report with channel
utilization measurement as observed by the measuring
STA.
Change-Id: Ic8faa45e24d7cd296e44828370b1b1088d46ddda
CRs-Fixed: 3580203
As per new requirement, to improve Wi-Fi Roaming behavior
DUT should support channel load request received as part
of rrm measurement.
The Channel Load request/report pair returns the channel
utilization measurement to AP as observed by the measuring
STA.
Change-Id: Idf1b5581222e1fbed3426d94edd8768234ff6a43
CRs-Fixed: 3580180
Move tSapChSelSpectInfo structure from sap component to mlme
component so that it can be use by LL_SAP as well
Change-Id: Ic3c2919054326aca3530071df27d425bb78a699a
CRs-Fixed: 3561182
Scenario:
(1) Host entered into system suspend.
(2) FW received DHCP Req and trigger WOW wake up.
(3) Host send WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID to FW.
(4) FW reinject RX DHCP Req to REO, send WMI_WOW_WAKEUP_HOST_EVENTID
to host.
(5) Since DP RX thread has been disabled, host DP receives DHCP Req
and do DHCP inspection directly, send DHCP indication message
to FW, but wmi_handle->is_target_suspended is true,
trigger crash.
(6) Host set wmi_handle->is_target_suspended to false only after receiving
WMI_WOW_WAKEUP_HOST_EVENTID.
Solution:
skip sending DHCP indication message if host suspended and DP RX
thread is not enabled, do not update sta_info->dhcp_nego_status,
then TX DHCP ACK won't do dp_post_dhcp_ind() in this case as well.
Change-Id: Ie4c414357ed7547ee9b882f3ec659bfe91b6b20d
CRs-Fixed: 3585743
To support group NDP security, WiFi-HAL and firmware introduces
two new parameters (csid_cap and gtk_required) in NDP initiator
request, responder requestor and NDP indication event.
Host driver will retrieve the CSID capabilities and GTK parameter
and parse it to firmware in NDP Initiator and Responder request
TLV. Also, driver extract these parameters from NDP indication TLV
and will passes to Wifi-HAL in vendor event.
Change-Id: I4487559491754edafaccafa466512d6380b826b3
CRs-Fixed: 3583149
Flush TWT commands when cfg80211 suspend is in progress
and schedule them for execution when cfg80211 resumes.
This prevents WMI from crashing due to concurrent
WMI_WOW_ENABLE_CMDID and twt requester enable commands
during suspend.
Change-Id: I505b789805d8a83564bf25d3f6c5c28d6d390966
CRs-Fixed: 3567817
For N-link, TDLS sends discovery request on different links
and starts timer to receive discovery response. There is one
race issue: if link switch happens before the timer stopped,
the timer count is reset because disconnection happens.
To resolve this issue, return if timer count is reset in
timer callback.
Change-Id: I7603de507f59dd988d70daad52fd4f4a2aa48d51
CRs-Fixed: 3586393
Pass g_wow_spec_wake_interval along with g_wow_data_inactivity_timeout
to firmware through WMI which are used in WOW mode. These configs are
honored by firmware when User defined OPM is set.
Change-Id: I24306e8aa0b7b3f7fce9453f6a98d4922b7c3f62
CRs-Fixed: 3567042
After roaming TDLS is enabled only on associated vdev and
it remains disabled on link vdev. This causes TDLS peer
update to be sent with TDLS disabled on that vdev.
Enable TDLS on link vdev after roaming.
Change-Id: I7fe42ea2eebe02ae282965cfa6116f1e35de4490
CRs-Fixed: 3583163
With this change add below helper APIs:
1. API to get number of SAP interfaces.
2. API to get number of beaconing interfaces.
3. API to get all active SAP interface channels and vdev ids
4. API to get all active beaconing interface channesl
and vdev ids.
Change-Id: Ib4781ff529fce494772cc12c7921c914adf5555b
CRs-Fixed: 3579760
Clear the current connected ML AP keys for all the links
including standby links after roaming to new AP.
Change-Id: I9cc548ba21648d1a1c123d15d1c8524dba141ea5
CRs-Fixed: 3581733
Currently while processing roam synch indication event, the
setup links info is filled for WLAN_UMAC_MLO_MAX_VDEVS(2). But
with 3 Link MLO support, it will reject the roam synch
indication event.
So allow 3 Link roam synch based on fw capability and ini
intersection for number of links supported. Use
wlan_mlme_get_sta_mlo_conn_max_num() API to get max allowed
links for connection.
Also replace array length declaration for setup_links having
WLAN_UMAC_MLO_MAX_VDEVS and use WLAN_MAX_ML_BSS_LINKS instead.
Change-Id: I1982e50f5036ba4eacbab50044444a7238cd1073
CRs-Fixed: 3573066
Update the mlo_support_link_num config to 3. This will enable
support to connect/roam to 3 Link AP with 3 links advertised.
Change-Id: I6241f7024271208c8d1584549edb91cc37fadcb8
CRs-Fixed: 3582858
If FISA is not enabled in config file, driver will
crash. Change adds error handling for no_support
return case.
Change-Id: I82e886a16f51e4e6db049b9224547b30bb9a10b4
CRs-Fixed: 3582517
Register event handler for WMI_ROAM_SYNCH_KEY_EVENTID.
Store the roamed AP keys for all links in crypto module
Add CM function pointers to iterate and store the parsed
keys for each link.
Change-Id: Icee5eeea23724a7d69cf895023e75e856d88a685
CRs-Fixed: 3577927
Rename policy_mgr_is_vdev_ht_ll_sap() api to
policy_mgr_is_vdev_ll_ht_sap() api.
Change-Id: I919963a1ee899d34f3e924ef4adf474032beb8a9
CRs-Fixed: 3560573
During link switch, as part of the disconnect sequence, roaming
is enabled on the other connected vdev and this causes RSO start
to be sent before vdev up is sent on that vdev. This causes
abnormal firmware behavior.
So don't send enable roaming till the vdev is up in case of link
switch. RSO start will be sent as part of the install key sequence.
Change-Id: Ib9fe520ec3d2b5c91fdba192934418e235082a31
CRs-Fixed: 3581618
If INI is enabled don't derive first link's MAC address
and directly use MLD address in that place and derive
next link addresses.
Change-Id: I3c2b9f64df3f75799adf8718ee83d157f6dd9097
CRs-Fixed: 3584062