For mcc to scc switch config QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL,
if GO is on 5/6 GHz, SAP is not allowed to active on 5/6 GHz, SAP should
move to 2.4 GHz, If GO is not present on 5/6 GHz, SAP needs to move to
5/6 GHz user configured frequency.
Change-Id: I4ba99460fe5656440c6010afcb0ebbc9c0f4de76
CRs-Fixed: 3624311
For MLO connectivity log, T2LM status logs shows
tid_ul and tid_dl as NONE for default TID mapping instead of
ALL. T2LM status logs is also displays the T2LM status
for link that is not associated with the MLO connection
with status '1'
Expected log for default TID mapping:
[Kernel Timestamp][MLD] T2LM STATUS band=? tid_dl=ALL
tid_ul=ALL [Vendor Extra data]
Observed log for default TID mapping:
[Kernel Timestamp][MLD] T2LM STATUS band=? tid_dl=NONE
tid_ul=NONE [Vendor Extra data]
Modify the api wlan_populate_tid_link_id_bitmap() to
check for default mapping. If a given T2LM has default
mapping, tid_ul and tid_dl is populated with default value
in order to be printed as ALL in userspace.
Change-Id: Id23052da6b6fd0a3a4bec3a9f9d3d4979bab3296
CRs-Fixed: 3636383
For MLO setup connectivity logging, the Band info is
not included for the standby links, resulting in logging
in an inappropriate format.
Expected Log format:
[Kernel Timestamp][MLD] SETUP band=? status=? bssid=?
link_id=? [Vendor Extra data]
Observed Log for standby link:
[kernel Timestamp][MLD] SETUP status=1 [vendor extra data]
Modify the MLO setup connectivity logging to log for
the links associated with the connection.
Change-Id: I2a8857ed123faf3c69c2a406eec506c6ed8c454b
CRs-Fixed: 3636343
Rename policy_mgr_get_lt_ll_sap_freq to
policy_mgr_get_ll_lt_sap_freq and policy_mgr_get_ht_ll_sap_freq()
to policy_mgr_get_ll_ht_sap_freq()
Change-Id: I740d6dfc75008b36861c8e90d6e365ebc6d8a054
CRs-Fixed: 3637126
In current design, host validates the PMKID in the
assoc request of an SAE STA after the Peer creation
in CSR. For cases with invalid PMKID, the assoc response
with status INVALID_PMKID and the peer delete are queued
back-to-back to the firmware. In some cases, this assoc
response gets flushed out due to the peer delete cmd and
leads to discard of the assoc response frame in SAP.
To fix this, validate the PMKID before the peer creation
as part of the assoc request sanity checks.
Change-Id: I5aa71188e4482063c5a5173b9aebd54ac9891c17
CRs-Fixed: 3631253
DP expects cdp_flow_pool_map() to be called only when
connection/disconnection happens. It's not expected to call as
part of link switch or set active/inactive link operations.
Link switch case is handled but user controlled link
active/inactive case is not handled currently.
Add a check to skip cdp_flow_pool_map() in set link
active/inactive case also.
Change-Id: I8ac21a12f16062378876437cd7a3927b9feccf79
CRs-Fixed: 3631131
At present, the tdls_handle_link_unforce may be invoked multiple
times even though the link is unforced previously. That causes
sending set link command unnecessarily.
Fix by checking the current link force state to avoid setting link
again.
Change-Id: I1e75fb713b17e6efd8143ebbc5ce59aed0409061
CRs-Fixed: 3640207
Input parameter of sap_chan_sel_init() update from mac handle to struct
mac context, update place where sap_chan_sel_init() being invoked when
AFC enable.
Change-Id: I2fb6af59f02c83f28bd2fad43d287552b662dfbe
CRs-Fixed: 3640939
Currently the roam scan high RSSI delta is configured via INI.
Define an attribute to allow user configure 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.
This attribute value is given priority over the INI.
Use a new service bit WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT to
enable high RSSI roam trigger in 5 GHz as well.
Change-Id: Ide48ad2261b603de36bd1b31114b91c3a9d6606f
CRs-Fixed: 3586170
Add callback mlme_vdev_reconfig_notify_standby to cld code to
handle standby link removal.
For standby link, it is going to be removed by AP, so don't
start link removal timer for it. Force inactive it to avoid
link switch to it.
Change-Id: Ib28e6b043f582e0fff2f4702e32ff222fc3428d3
CRs-Fixed: 3629633
Currently when host driver tries to give the max ht rate, if
report_max is false it first loops through the rssi_mcs_tbl
to find the entry where rssi is greater than rssi received
from fw and sets that index as mcs index. Then sets this mcs
index to fw advertised tx mcs value if tx mcs is larger.
Then it tries to find the data rate from supported_mcs_rate_nss
table. If mcs index is greater than 7 this leads to OOB access.
To address above issue, limit mcs index to 7 if higher value
is obtained.
Change-Id: I11f5ed42ed9cb0adba0f7c50bfcf325bf58e74e9
CRs-Fixed: 3639109
This change is to return failure for get_ml_link_state
in case of link_state_info_event_status not equal to zero.
Change-Id: I9f896b5ea82a397409263811204ce7bbadbd165f
CRs-Fixed: 3622712
Add QCA vendor attributes to indicate various MLO capabilities supported
by the WLAN driver to userspace.
CRs-Fixed: 3635741
Change-Id: I0d5e03f10dd8a3049201ed5b6385075a1c426c41
Some targets use a different location for the build scripts and
set the BOARD_OPENSOURCE_DIR build variable accordingly.
If this variable is set, pick up WLAN source code from this location.
Change-Id: I3ff09ac25ab6ce627f658182b395371de1a1969e
CRs-Fixed: 3636187
Offload TX data packets such as ARP response, EAPOL during roaming are
sent by firmware through HTT msg if packet capture mode is enabled.
Whenever any such packet is received via HTT msg, host inspects the
ether type of the packet and matches with the TX filter set by user
via vendor command. If the ether type matches with the TX filter set
by user, then host forwards that packet to packet capture mode interface
otherwise, drops it.
To inspect the ether type of any packet, host uses generic API which
expects packet to be in SKB format. Currently, whenever any offload
TX data packet is received in HTT msg, host wrongly passes the buffer
received in HTT msg instead of SKB to APIs expecting SKB buffer.
This leads to undefined behavior.
So, to fix above issue, whenever any offload TX data packet received,
first allocate the SKB, copy the payload buf of HTT msg which is TX
packet to SKB data and then pass that SKB to the generic APIs to get
the ether type.
Additionally, this change fixes the minor logging error.
Change-Id: If09d49d8a1dcc04ca81454fc262bb5789a0f56be
CRs-Fixed: 3613594
The current host driver maintains a singular global mac session
for the timer. In situations where the SAP timer runs in one context
and P2P operates in another, the P2P GO context might unintentionally
halt the timer in global mac context for SAP.
Scenario:-
Initially host driver created SAP at index zero, After that it created
another P2P GO at index one before calling start bss api host driver
was trying to stop the interface and dfs timer offload was running for
SAP at index zero, As host driver never initialized cac offload for
P2P GO and dfc timer is running on global mac ctx and it was trying to
destroy the timer during hostapd deinit without even calling timer init.
This is due to absence of checks to validate whether P2P initiated
the timer.
This modification ensures that the timer initiates only when not running
in any session and halts only when the mac ctx and SAP context share the
same vdev id.
Change-Id: I77e14f660b946e8d1a815030f11ad36c14fc8bc4
CRs-Fixed: 3615156
Previous code change results in incorrect pointer
assignment for class variable. Fix this by returning
class_create value, and explicitly assigning class
to this value.
Change-Id: I8fd53fe0c6825cf6bdf4786ca2788044d71a8e86
CRs-Fixed: 3638971
User can set following combination of configs in vendor command for
packet capture mode:
1. PKT_CAPTURE_MGMT_CONNECT_NO_BEACON: to receive all mgmt frames but
no beacons
2. PKT_CAPTURE_MGMT_CONNECT_NO_BEACON + PKT_CAPTURE_MGMT_CONNECT_BEACON +
connected_beacon_interval : to receive all other mgmt frames and only
connected SSID beacons at particular intervals
3. PKT_CAPTURE_MGMT_CONNECT_NO_BEACON +
PKT_CAPTURE_MGMT_CONNECT_SCAN_BEACON: to receive all other mgmt
frames and beacons only during scan.
But with current condition connected SSID or scan beacons config will
not be sent to FW as host checks for PKT_CAPTURE_MGMT_CONNECT_NO_BEACON
config only. Also, on reception of any beacon, host checks for only
PKT_CAPTURE_MGMT_CONNECT_NO_BEACON and if it is set, host drops the
beacon which is wrong.
So, enhance the conditions to send config to FW as well as
remove the condition on reception of any beacon so that connected SSID or
scan beacons are forwarded to packet capture interface when connected
beacon interval config or PKT_CAPTURE_MGMT_CONNECT_BEACON or
PKT_CAPTURE_MGMT_CONNECT_SCAN_BEACON is set by user in vendor command
along with PKT_CAPTURE_MGMT_CONNECT_NO_BEACON config.
Change-Id: I246b175f1c88ed45214527880ba14cdc17bf8206
CRs-Fixed: 3604708
Currently, host driver takes vdev reference while sending coex
logging config to the target. If user issues logging config
command before creating vdev, then vdev will be null and
dereferencing it causes crash in driver.
To fix this, add null check for vdev just after taking reference.
Change-Id: I91d7834ecdc506a7b7a20b38a7c8150bd22adb72
CRs-Fixed: 3637112
When scan is complete, tdls notifier tries to update the
tdls_current_mode for all available TDLS & P2P vdev. This causes
the TDLS current mode to enabled wrongly and further add peer gets
honored for P2P Client vdev in STA + P2P client concurrency.
So avoid changing current mode for P2P cli when STA vdev is
present.
Also add check for P2P CLI mode in tdls_check_is_tdls_allowed()
to avoid tdls commands going on P2P client vdev.
Change-Id: I681de9781a4892e307681da5699ca7b30f8f9651
CRs-Fixed: 3626695
If LL_LT_SAP is already present and if STA tries to
come up on same mac, then it may result in data loss
on LL_LT_SAP as STA will need ROC on the connection
channel for some time, to avoid these data loss during
STA connection, add logic to switch the bearer for LL_LT_SAP
data to non-wlan and once connection completes, switch back
the bearer to wlan.
Change-Id: I7ace6c6f4f41548ec112882dc81be6c6b5a4eae0
CRs-Fixed: 3627656
MLD is applicable for infrasture modes(STA/SAP) and is mandatory to
operate in 11BE for these modes. NAN/NDI(NDP) may want to use EHT
rates and it's not mandatory to support MLO.
Currently, host driver sets vdev dot11mode as 11AX when MLD address
is zero. But this is applicable for STA/SAP only. So, exempt NAN/NDI
modes from this dot11mode downgrade operation to allow these to use
EHT rates.
Change-Id: Ie43811eb7bd12dbf286617cebe194ced8c28c3f0
CRs-Fixed: 3635961
Current code has compilation errors when building
on sun kernel. Fix this by resolving the errors.
Change-Id: If28a393485cfe4d661e2026ce1f9bc9d6318ca19
CRs-Fixed: 3632177
For certain cert cases involving power save, STA is expected
to wake up only to receive DTIM beacons but Firmware is not
aware of the AP's DTIM period. Thus, Host caches the DTIM period
received from AP within the TIM IE and configures this value as
the listen interval to Firmware via existing WMI.
CRs-Fixed: 3601676
Change-Id: I23e191b00e22b9cd26344ad40f485807d81ed3d8
Userspace can dynamically modify association BW and as part of
disconnect need to reset the BW to original value, if not the
next connection will might happen with downgraded BW.
Currently the restore is happening on deflink VDEV instead of
actual disconnecting VDEV.
Fix this by changing function argument to accept link info
pointer in HDD adapter of that corresponding VDEV.
Additionally, the driver capability for 6 GHz-320 MHz is not
properly restored and further connections to 320 MHz are
happening on 160 MHz.
To fix the 160 MHz downgrade, use original EHT capabilities in
global MAC context instead of using modified EHT cap where
320 MHz support got reset on userspace dynamic BW update.
Change-Id: If2badb0a234f45d57dc186729bc529137d7a5131
CRs-Fixed: 3628940
Band is not printed for the neighbor report request/response logs.
Fill band info for neighbor report request/response frame
logging event from the wmi_neighbor_rpt_info TLV
wmi_roam_neighbor_report_info->neighbor_report_detail[Bits 26:24]
for both the single TLV and multi TLV case.
This band info indicates the band of the link over which the
frame was transmitted/received.
Change-Id: I2c6671ffc600cba571c666f01fa07fb3d89eb6a8
CRs-Fixed: 3626819
In api wma_roam_update_vdev(), peer frequency is set before
peer setup which results in band info to be missing in
Datapath connectivity logs after roaming.
Modify api wma_roam_update_vdev() to set peer frequency
after peer setup in order to print band info for
datapath connectivity logs after roaming.
Change-Id: Idc2d6c1cda072f576c26964a0fc0c418760608f4
CRs-Fixed: 3629093