With the recent change in feature set information related
to 11kv version info, host driver needs to update the
feature set version info as well.
With this change, update the feature set version info.
Change-Id: I50a4df5769cd702eda5d1bc69ac9aad07d87269a
CRs-Fixed: 3334882
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
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
Currently host driver indicates frame pcap logging feature as
supported by default to fw.
Host driver does not support this feature as of now, so indicate
this feature as not supported to fw in feature set capability info.
Change-Id: I5a6f4d83cca1b5b92d8a9159b68349534b112d92
CRs-Fixed: 3329222
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
STA_ENTRY_TDLS_PEER is defined under feature flag FEATURE_WLAN_TDLS.
With FEATURE_WLAN_TDLS=n, compiler throws use of undeclared identifier
'STA_ENTRY_TDLS_PEER'.
Hence fix the error in wma_he.c:1276 introduced in change
I16073a51a8949093872f7a421e0ad01648b63e92.
Change-Id: I0038dad70147b5c4ded2abad34baf50c8bc32f83
CRs-Fixed: 3275175
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
Add beacon_rx log as part of iface stats handling to know number
of beacons received during previous stats.
Change-Id: I90d30f354d879497ee5ae0f0f320efbcbb1741ab
CRs-Fixed: 3320914
Currently, Host populates link IDs per link and sends it to FW
in case of EMLSR mode. Add new API to exclusively extract link
ID per vdev and share with FW via peer assoc command and hence
extend this logic across all MLO modes.
Change-Id: I270f3a54ee806bdcf1a2713f5a569d3a52743954
CRs-Fixed: 3300101
Enhancement the beacon filter table to add more
elements and extension elements.
Change-Id: Iee3bc9d768227102a971bafdb41db445c0f03d31
CRs-Fixed: 3296203
Currently host only advertises SAR_V1 and SAR_V2 to userspace as
there is no mapping present for SAR_V2 DBS.
To address this issue add support to store and advertise SAR_V2 DBS.
Change-Id: Ic5d68361c4ce7275056117685100e8338466220c
CRs-Fixed: 3312593
In cm_handle_roam_reason_deauth() API the deauth_disassoc_frame
is validated to avoid NULL pointer dereference and the roam
event is dropped if the frame is NULL. But the firmware can
send the event only with reason code and without including the
deauthentication/disassociation frame. So disconnect indication
event is not sent to framework upon receiving disassoc/deatuth.
Remove the frame check to validate the deauth/disassoc frame.
Update the logic in pe_disconnect_callback to check the deauth/
disassoc frame pointer if length is non-zero.
Change-Id: Ibc612e89d6edbbd40d7c79713197e4121cddc097
CRs-Fixed: 3313804
Add async event for Spatial Reuse and also send Spatial Reuse
enable / disable event to upper layer due to same MAC concurrency.
Change-Id: Idcb5b99e39f1810e63ae7ac1e8d2eab6028a163f
CRs-Fixed: 3307801
Add check for concurrency with SR, if SR with concurrency
is not enabled then disable the SR on existing VDEV as soon as
new VDEV is up.
When this new VDEV is disconnected, then enable back the SR on
the previous VDEV.
Change-Id: Id6aee592b889bb7006efb44420e6d272212e13ba
CRs-Fixed: 3306181
Add below two enhancements for SAP
1. Spatial Reuse enabled in single MAC concurrency
2. Set bit HESIGA_Spatial_reuse_value15_allowed in SRP IE
Change-Id: Id2d3d04ae1b3b9a2e6d84f30749b577bc7b79061
CRs-Fixed: 3305447
Presently host don't know whether event is rsp to the command
or async event from FW.
Handling req and async events with new enum
wmi_oem_data_evt_cause added in FW to represent event causes,
WMI_OEM_DATA_EVT_CAUSE_UNSPECIFIED,
WMI_OEM_DATA_EVT_CAUSE_CMD_REQ,
WMI_OEM_DATA_EVT_CAUSE_ASYNC.
Change-Id: I31a3f415fed64dc6231ca0eb29de5b80c94493f3
CRs-Fixed: 3305281
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.
To fix it, correct the parameter for QDF_MAC_ADDR_REF.
Change-Id: Ifd89b02ab5fb2e3b59291c303ad93b691616dc57
CRs-Fixed: 3308193
The last channel event data whose command flag is set to 1.
It’s basically an event with empty data only to indicate
scan event completion. The process of WMI_CHAN_INFO_EVENTID
should ignore it or it takes the freq 0 as selecting first
clean channel for ACS which is not expected.
Change-Id: Ia64b4ad16fa3571363f16fe419cf861fbbe19038
CRs-Fixed: 3306049
Currently host does not update band capability to fw as
part of feature set info.
With this change update band capability as well as part of
feature set info.
Change-Id: Ieb6d800c1c88a56bf72fac6e105f3498eb22ab58
CRs-Fixed: 3302989
This change
1.fixes the use of uninitialized
variable in host driver.
2.Adds validation in extract_roam_sync_frame_event_tlv
Where these frame lengths are getting populated,
also at the place where subtraction happens to prevent
overflows
3.Adds NULL check in wma_handle_roam_reason_deauth, to avoid
the null pointer dereference.
Change-Id: I2d5ba61fb109f6d8b497df29cfa2dd572c00adeb
CRs-Fixed: 3297792
Read TSF via scratch registers instead of WMI commands. Added framework
to initialize/de-initialize the deferred context for register reads.
Change-Id: Id5309bf3117f04fb3d321ddd3af50e4bdf223561
CRs-Fixed: 3287534
Currently there is a discrepancy in the txrx rates for EHT between
the host & firmware, resulting in the reporting invalid rates to
userpsace.
Correct the EHT rates between the host & firmware.
Change-Id: I894689fb6c760889755188d6138ad2f20586c278
CRs-Fixed: 3290593
During ANQP query, supplicant sends the action frames to firmware
and currently, host driver drops tx mgmt frames as peer is not
available. This is because in tx mgmt path, it retrieves the self
peer from non-MLO mac addr but driver creates the peer of type
AP(PEER_AP) with MLD mac addr when MLD mac addr is non-zero and for
non-MLO case, it creates self peer with non-MLD mac addr.
So, to fix this, in case of MLO mac addr, create the self peer while
creating vdev and retrieves that peer with MLD address in tx mgmt path.
Change-Id: Id7ef97668fbd1bf1914d37d09682119eb79be465
CRs-Fixed: 3297288
When roam from SAE legacy to SAE MLO, pre-auth TA is MLD address,
while peer AP expects link address, pre-auth fails.
Parse transmit address field from firmware roam_preauth_start_event and
include it when send NL80211_EXTERNAL_AUTH_START to wpa supplicant for
SAE roaming cases.
If transmit address is all zeros, wpa_supplicant will not do ML sae
auth, use MLD address as TA.
If transmit address is not zeros, wpa_supplicant will do ML sae auth,
use 'transmit address' as TA.
Since self peer is created with mld address, when roam from legacy to
MLO, try to get peer by mld address during pre-auth tx since bss peer
absent, or TX fails for no peer.
Change-Id: I99ed846e94165bfe01e1d1e8c620f035751c7056
CRs-Fixed: 3289987
VDEV destroy timed out happens in SSR when device
has prior active MLO connection.
The reference for MLO MGR is not released in this
case as FW response for VDEV stop won't be received
during SSR.
Initiate VDEV stop response explicitly for the driver
to deinit MLO context.
Change-Id: I934c7161189fbceb9e0de93aad6f0f9ff45102ac
CRs-Fixed: 3286321
Currently host does not consider band capability when it decides
supported wifi standard info. This results in incorrect supported
wifi standard info. For example if dot11 mode ini is set to auto
and 6 GHz is disabled from band capability and if host does not
support 11BE, in this case if host does not consider band
capability it reports supported wifi standard as wifi 6E, but
ideally it should not report wifi 6E as it wifi 6E mandates
6 GHz support.
To address above issue, consider band capability as well to
decide supported wifi standard.
Change-Id: Iae7804a73d8ba36ec855fdc4c00ca3106e43b350
CRs-Fixed: 3282169
Clean up useless legacy code wma_roam_auth_offload_event_handler.
It is replaced by target_if_cm_roam_auth_offload_event already.
Change-Id: I473d20f70c00c7d0e4c390a19b4ec6fdf9c0268b
CRs-Fixed: 3290006
fill the MCS rates for TDLS off channel, update wma pouplate
to fill peer assoc mcs values in peer assoc command.
Change-Id: I16073a51a8949093872f7a421e0ad01648b63e92
CRs-Fixed: 3275175
After roam sync is recevied the phymode will be updated for bss peer.
For MLO roaming use link address and channel to find the bss peer and
update the phymode.
Change-Id: Ic181fdb73ceeb8dfb980a4121a7569b12d3361dd
CRs-Fixed: 3280059
Extract MSD capabilities from assoc response from MLD AP
and share the params with FW via peer assoc cmd on all MLO
links.
Change-Id: I301f56c37b6d0d2c56af13eec72d2e452a1508ed
CRs-Fixed: 3271116
After vdev creation, self peer is created using mld mac address.
In case of SAE roaming, the auth frame received from supplicant
has link mac address thus it is unable to find peer.
Add api to find mld mac address from link mac address.
Change-Id: Ic01bf4da7b79779efd8b9ea8f1e180291c877593
CRs-Fixed: 3275434
An invalid VDEV ID is sent to FW during adapter start after SSR
leading to assertion failure.
Validate return value of start adapter and skip to next adapter
incase of any failure.
Validate the VDEV ID sent in the SMPS params before sending to FW.
Change-Id: I7038fb2c7ecaa5892f5058b5b719767314ec62bf
CRs-Fixed: 3271202
In reg_is_6ghz_psc_chan_freq, logging all channels except
6 GHz band channels.
Added 6 GHz band check in wma_update_channel_list to avoid
redundant log prints in reg_is_6ghz_psc_chan_freq
Change-Id: I1a4a43707e8dc44d0c6f4f6d6ac9f86324a4d2fd
CRs-Fixed: 3277118
In case of single link mlo roaming, set both dp peer flags
is_first_link and is_primary_link to 1, then datapath will
create MLD peer.
Change-Id: I935c42b2c3eaa558028d45bdbf502007723f656c
CRs-Fixed: 3271224
NAN peer does not exist but mgmt frames requires peer object
while transmitting to firmware. To support peer for NAN, creates
the self peer for NAN iface while creating vdev and transmit the
peer object along with mgmt frames.
Currently, host driver supports the self peer for STA, P2P,
Monitor and OCB vdev only.
So, to create and delete self peer, add check for NAN iface also.
Change-Id: I9b0652a16bceaeeb4f22d052d39b9e301b4b411b
CRs-Fixed: 3275425
CH_WIDTH_320MHZ definition is in 11BE define currently and it's
causing duplicate code in 11BE supported/unsupported cases.
Definition need not be in 11BE define as it doesn't cause any
impact on memory.
Change-Id: I9fa391474f513755000368cc2e41e004446353d0
CRs-Fixed: 3246578
When NAN is not supported on some target(disabled through ini
param gEnableNanSupport), there is no use of reserving vdev for
it in firmware though firmware advertises wmi_service_nan. Indicate
firmware that host is going to take care of the NAN vdev creation.
Host can use the vdev either for NAN or other operations
on need basis.
Change-Id: Iec106ceb80b80f03017a77036727b148845b64d5
CRs-Fixed: 3267080