Add support for MLD MAC address table to MLD.
This MLD address table allows API to add/delete/find entries by MLD MAC
address. This framework would be used for implementing FT over DS,
where Assoc request is received by AP without receiving Auth request.
Change-Id: I3dbc4c0507f2113d2c0cc5e58f41d69243a4cfc8
CRs-Fixed: 3608944
Currently in the driver, we hide 2nd, 3rd and 4th bytes of the
MAC address in GKI builds. Since 2nd and 3rd bytes are needed for
debugging, hide only 4th and 5th bytes of the MAC address.
Change-Id: Ia432bb0d40e0a09b56e581f192a810e727127d3a
CRs-Fixed: 3616774
Introduce API to populate parameter for connecting event
logging in order to be printed after STA INFO
event.
Add wlan_cm_is_first_attempt() api in order to
restrict the logging of STA INFO and connecting
event to first connection attempt.
Change-Id: Ica4253eea71ba72ea5176f733402d0758797463b
CRs-Fixed: 3599759
Add field 'u.tx.pa_ts.ts_value' to store the driver ingress
timestamp, and field 'u.tx.dev.priv_cb_m.flag_ts_valid' to
indicate whether 'u.tx.pa_ts.ts_value' is available or not.
Both fields must be cleared before fragment mapping, to
avoid overlap with the filed 'u.tx.pa_ts.paddr'.
Change-Id: I645c3c27b0c519417f86e6346f4f018b8d87d701
CRs-Fixed: 3560477
The timestamp values in umac reset context saved using uint64_t data type.
Hence, use '%llu' to display these values.
Change-Id: Ifd1069d0d8fdb9c6e7d91bc087d064ef11e3aec4
CRs-Fixed: 3613628
Handle completion of packets with release source as FW even if
ultrafast path flag FASTPPATH_SIMPLE or ppeds flag is set.
Change-Id: I3d6a4bf23000d2ccf0a1a8546a9db3dc63a793e6
CRs-Fixed: 3616109
When CONFIG_ARCH_STACKWALK is defined, tracing threads function
qdf_print_thread_trace() will do nothing which is wrong.
Fix is to add process for function qdf_print_thread_trace() when
CONFIG_ARCH_STACKWALK is defined. It's the similar implementation
as 'Change-Id: I99643e1b93251de7453f511d13f5a4a39c56f99c'.
Change-Id: I199c3401e08cf91118106959d16c378fa038e3ac
CRs-Fixed: 3618369
When F/W triggered roaming and wpa supplicant reassoc happen back to back,
disconnect may happen at last, but set send_disconnect flag of connect rsp
to true for last candidate, not for first candidate.
with Change-Id: I850c20cdfeb0c8423d074094f97c83599e43b409, first candidate
connect rsp is sent to kernel, kernel connected state isn’t cleared,
so SCAN RANDOMIZATION is always blocked later.
To fix it, copy send_disconnect flag of connect rsp from last candidate
to first candidate, then disconnect event of first candidate will be
sent to kernel to clear connected state, SCAN RANDOMIZATION won't be
blocked.
Change-Id: Ib7c0ec5d9b8e99de8f2548718f12ecddc94c792e
CRs-Fixed: 3615898
In hal_write32_mb_confirm_retry(), hal_read32_mb() invoked
after hal_write32_mb_confirm() to confirm whether the write-op
executed successfully, which is not necessary in case it was
already confirmed in hal_write32_mb_confirm().
Avoid such redundant register read, if it is confirmed already.
Change-Id: Ib7c0ec5e9b8e99de8f2548718f12ecddc94c792e
CRs-Fixed: 3617529
Receiving MPDU end TLV length as 0
because TLV compaction is enabled and
wmask for mpdu end tlv is set to 0.
Adding word mask for MPDU END TLV.
Change-Id: If065cbf19f979734123a433e467a8a9bb8a1013a
CRs-Fixed: 3613053
Use rssi_comb_ppdu of TLV WIFIPHYRX_RSSI_LEGACY_E
as RSSI reported in monitor mode on KIWI and HSP.
Change-Id: If9d0e5645c12874af32e43dae596602e446a44b0
CRs-Fixed: 3609169
For CFR test, monitor reap timer will start, meanwhile
irq for monitor status ring is also enabled, these two will
conflict and access mon_pdev->rx_status_q in the same time,
skb double free issue is reported.
If irq for monitor status ring has been enabled, skip to start
monitor reap timer which is unnecessary.
Change-Id: Ic015d370cb80604d7e4c261054ad529b64edca25
CRs-Fixed: 3614097
To prevent key installation in firmware before receiving the key from
user space. Currently, host receive the key in one thread
while simultaneously installing keys in a scheduler thread.
This change aims to resolve the synchronization issue by allowing key
installation only in one thread.
Change-Id: Ib5772cd2d0ed470756a4222aa9e11c356390f014
CRs-Fixed: 3591663
During FILTER_RESERVE request of OPT_WIFI_DP perform both
runtime resume and system resume before checking target
suspend state.
Change-Id: I2ee92c28fb34f07e372f676f34c5561795bd9c37
CRs-Fixed: 3611474
Set fast_tx when ol_stats are disabled in
ultra_fastpath to avoid Tx completion overhead.
And also includes following fixes:
cdp support to get jitter stats
cdp support to set/get vow stats
cdp support to get Sojourn Stats
Change-Id: I8bdb176edbdf210b4dedfaa117f058f57bd17241
CRs-Fixed: 3604215
This change removes two MACROs: DP_RX_REFILL_BUFF_POOL_SIZE
and DP_RX_REFILL_THRD_THRESHOLD because they have been made
configurable. Thus, they can be customized as per platforms.
Change-Id: Iba63b6fc9c9a0be764d35882f60c61867f969afe
CRs-Fixed: 3602356
Add a new QCA vendor sub command QCA_NL80211_VENDOR_SUBCMD_TX_LATENCY to
configure, retrieve, and report per-link transmit latency statistics.
When used as a command, userspace configures transmit latency monitoring
and get the corresponding statistics of the last period. When used as a
command response, driver replies the get action from userspace with the
statistics of the last period. When used as an event, driver reports the
statistics periodically.
Change-Id: I46966cd6bbad2deed7b2ad81e730170625907f67
CRs-Fixed: 3603431
Register event handler for WMI_MLO_LINK_STATE_SWITCH_EVENTID.
Add target if event handler for the
WMI_MLO_LINK_STATE_SWITCH_EVENTID event, and register
corresponding mlo manager callbacks.
Add extract API for link state switch event parameters received
Call the diag event API from MLO manager post extracting the
event
Change-Id: Ib588ee87a5c37c6a34c86ce8cbf134a273c6461b
CRs-Fixed: 3610041
Originally Change-Id: I9fa71bdb6d4e4aa93fc795cc5dd472a181325991
was brought in to fix a race condition between Rx buffers
map/unmapped in dp_ipa_handle_rx_buf_smmu_mapping() and at the
same time map/unmapped from dp rx replenish context.
The fix ensured that rx_desc is unmapped and rx_desc->unmapped=1
flag will be set atomically within a lock.
But Change-Id: Iadb40071fb733cc4de3291784df5075d5a099a8e
introduced a flaw by releasing the lock before setting the flag to 1.
This is currently causing race condition and causing double
unmap calls when IPA smmu pool unmap and dp_rx_replenish unmap
is running in parallel. This change will fix this issue, by setting
the flag before the lock is released.
Change-Id: I3533bb5f6cc0437395149cd3c718826ef0b482a3
CRs-Fixed: 3594252
Currently soc->ipa_mapped flag is set to true only after all
the buffers are SMMU mapped to IPA. This leads to a race
window where Rx buffers routed to WLAN HOST in the replenish
path are not mapped to IPA, as the ipa_mapped flag is still
set to 0. The fix is to set the ipa_mapped flag to 1, right when
the IPA pipes are enabled, before waiting for the complete
buffer pool to be IPA SMMU mapped.
With this fix, RX buffers can be unmapped and mapped to IPA
domain in dp_pdev_rx_buffers_attach() and
dp_pdev_nbuf_alloc_and_map_replenish() in WLAN host RX path when
ipa pipes are enabled.
This change also renames ipa_mapped flag to ipa_map_allowed.
Change-Id: Ibbe50cb211f858a3372e31644df2f5e98f99a292
CRs-Fixed: 3569745
Add support to trap protocol tagged packets for the unique
metadata to send it as trigger to standby application
Change-Id: I76644477d1df2a0851472283623c1dc3dbe19b8b
CRs-Fixed: 3608436
Limit non-SRG PD threshold for upto minimum of MAX allowed limit
and AP advertised value and check AP nonSRG PD threshold
with correct signedness.
Change for debug print to display param value in hex.
Change-Id: I630aa894c856226a886161ced648073782f379bc
CRs-Fixed: 3598056
Add mlo teardown support for standby active mode in
mlo setup sequences and wmi
Change-Id: Iaa727527c53ff0ad6c7682e039ef23fa537e1ae0
CRs-Fixed: 3613367
Currently, STA cannot perform SR when SAP does not include SR
IE in Beacon/Probe response/Assoc response.
This change is done to configure default non-SRG OBSS PD
parameters in FW in this case.
Change-Id: I8effbc31631267bd96a269e0bffff74139dafaf1
CRs-Fixed: 3607399
Add srng disable function for 5332. This is required for
umac reset feature. Also, Avoid srng disable for lmac
rings.
Change-Id: Ieccc86134ee4d1cc3cd8a31a62f8fdf3afd5faf9
CRs-Fixed: 3599325
Wait for firmware response only if the response
is pending after posting the txrx stats query to firmware.
Change-Id: Ib300f97bc2cc08a2947be9021ff3e399191d1c8e
CRs-Fixed: 3599915
When WLAN_FEATURE_11BE flag is disabled, if opclass is 137, the API
reg_get_subchannels_for_opclass chooses the nchans as 16.
But the maximum size of the subchannels buffer is 8.
This leads to an array out of bound access issue.
To fix this issue, modularize reg_get_subchannels_for_opclass by
adding a new subfunction reg_get_nsubchaneels_for_opclass to get the
nchans. The maximum nchans returned by reg_get_nsubchanels_for_opclass
is 8, if WLAN_FEATURE_11BE is disabled.
Change-Id: I50095768e4a232fa83f1bc69690f64a745eecb05
CRs-Fixed: 3607354
Currently SET_DISABLE_CHANNEL_LIST command is used to disable
legacy channels only.
Update this command to accept frequency for all the bands along with
the channel numbers from legacy (2.4 GHz/5 GHz) and update the
channel state in secondary channel list also.
Change-Id: Iecc9f73dca65900d82a2f2a044cb854cea58c638
CRs-Fixed: 3601253
Currently the user configured MFP state that comes from the
userspace in connect request is not handled or processed.
Instead the RSN caps from assoc IE of connect request is inter-
sected with AP RSN caps and sent to Firmware using RSO command.
This RSN caps is used in FW in selecting a roam candidate, which
was causing the cross AKM (eg:SAE -> PSK) roam fail.
Hence, use the user configured MFP value in sending the RSN caps
to Firmware.
CRs-Fixed: 3606069
Change-Id: I3facfcf3616667b4749109d26d924c3fb1537494
Currently, in some API such as
"wlan_cfg80211_tdls_add_peer_mlo", when driver gets vdev, it is
MLO vdev, so it uses WLAN_MLO_MGR_ID ID, but when it tries to put
the vdev, since disconnection happens and mlo flag is cleared,
so it uses WLAN_OSIF_TDLS_ID ID which is non-ML vdev.
This causes release of vdev reference from different id for which
it never takes reference and result in crash.
To fix this, use same debug id throughout function. For that,
generalize the get_ml_vdev API by passing the debug id as
argument to the function.
Change-Id: I5800d207fdd17692297e71a0a9cdbcb86a4c5650
CRs-Fixed: 3608817
Reconfigure the link information structure for the partner
links and assoc link when a channel switch event is received.
Change-Id: I022bb6c6e2bcf43a1efaa6234e52648142b9fde2
CRs-Fixed: 3599451
Implement handling of mlo sta standby csa beacon
and initiate the transmission of a link bss request
command tlv to the firmware for standby link.
Change-Id: Ibdf903c69757b47f301ab9fa7c563407915532d6
CRs-Fixed: 3605764
Currently buflen is not updated for int type, causing some
ini items can't be printed via sysfs command.
Change-Id: I86a991252e9fa4031959a51d6827976b6ac89c04
CRs-Fixed: 3612278
Add nl80211 vendor event index
QCA_NL80211_VENDOR_SUBCMD_TX_LATENCY_INDEX, which is used to report
per-link transmit latency statistics.
Change-Id: I62bb668ebf6b3d10c0100448eb41bde29540890d
CRs-Fixed: 3596760
To enable support for nested array policy, define macro
VENDOR_NLA_POLICY_NESTED_ARRAY to take care of the version
compatibility.
Change-Id: I2d9e3079c0a6b34c61767ec50b0c404beb3240df
CRs-Fixed: 3596074