Currently, the cdp API cdp_clear_peer takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.
Change-Id: I4f8bee21ae42d8c9929da8fe2fcfa534778647ed
CRs-Fixed: 2503139
Cleanup ol_txrx_clear_peer to be peer mac address based
from local peer id based.
Change-Id: I63154508e6a08f973a4c602de58217e6bf23d683
CRs-Fixed: 2503737
For WPA3 SAE LFR-3.0 roaming, authentication is offloaded to the
wpa_supplicant via the host driver due to the target crypto
inavailability limitations. The target does candidate selection
and sends the WMI_ROAM_PREAUTH_START_CMDID to the driver.
Once the SAE authentication is done, the supplicant sends the
external auth NL command with the authentication status, PMKID
derived. On receiving this event, send the PMKID, bssid, auth
status to the target over WMI_ROAM_PREAUTH_STATUS_CMDID command.
The host driver decides if the external authentication event is
received for preauth candidate or for initial connection by
checking the connected state information of the csr session.
When the authentication fails with the first candidate, the
target triggers the preauth start for the next candidate. This
happens till there are no candidates available to roam.
There could be a situation where the firmware sends preauth
event for candidate1 and before the supplicant could send the
external auth command to the host driver, the candidate1 preauth
timer could have expired and firmware sends the preauth start for
second candidate. After SAE is done with second candidate also,
the supplicant sends external auth event for second candidate. So
in this situation the firmware should decide to choose the
latest candidate. The host driver here is a mere passthrough and
doesn't maintain timer for the preauth event for each BSSID to
drop the expired candidate preauth events.
Change-Id: I799a05e55a59677dfc2ddf5b55ebc888ccfea03e
CRs-Fixed: 2507003
Enable hw filter in runtime pm mode such that target
CPU wake ups can be avoided in order to achieve max
power savings.
Change-Id: I97aa26b063e70db5e3023faf6aa40cc53bfac3af
CRs-Fixed: 2502744
Remove "CMN_VDEV_MGR_TGT_IF_ENABLE" from Kbuild as target_if common
code is used for vdev operations and legacy code is removed.
Change-Id: I15fb2311aa1b6eeec506d9a6bdc720abaf93244e
CRs-Fixed: 2507456
In case Device is P2P GO and SSR is triggered due to any reason,
Stop_adapter is called. Inside stop adapter adapter->session.ap.beacon
is freed. When P2P GO negotiation is initiated after SSR,
__wlan_hdd_cfg80211_stop_ap function tries to access
adapter->session.ap.beacon which freed during SSR.
Failure is returned in case adapter->session.ap.beacon is NULL,
Which causes failure of p2p negotiation.
Fix is to return success to upper layers in case SAP is already
down, So that beacon interval can be cleaned up.
Change-Id: Ie7a30475b2a54860843b1430964585d22f02c110
CRs-Fixed: 2503216
Enable IPA3 in qca6390 for sdxprairie platform. The IPA
over gsi and smmu are also enabled to make IPA workable.
Change-Id: I5ce6b22dcc4a6678deb6a5ac2d712fb82b6c5bf3
CRs-Fixed: 2496838
The Linux Coding Style frowns upon mixed-case names so rename
identifier tpAddBssParams to be compliant.
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tAddBssParams typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.
Change-Id: Icf7fe19cfe6eb6fbac5689e3b5474d38c520b311
CRs-Fixed: 2506539
Firmware offloads WPA3 SAE authentication to host due to the
crypto library availability limitation. Once the roam candidate
selection is done in the firmware, firmware sends the
WMI_ROAM_PREAUTH_START_EVENTID. Once this event is received, the
host driver triggers the SAE.
Add support to offload the SAE authentication from firmware to
wpa_supplicant.
Change-Id: Ie3a9e731194e1edfcd9f33ef0d601767b9485d46
CRs-Fixed: 2490201
Create bss peer in lim_process_mlm_post_join_suspend_link
when sta connect, don't need pose message to wma queue.
Change-Id: I23325c9d41b68f67ea9903008521f026e46395c4
CRs-Fixed: 2505558
In case of high latency data path, addba/delba messages
needs to be handled to support partial reorder.
This reverts commit b8919e14c5
and fix below security isses in ol_tx_addba_handler.
1. handle memory allocation failure scenario.
2. Free array memory before assign new memory to avoid
memory leak.
Change-Id: I4f577c9e8bcb40f70ffb1b305659a059eac68d8d
CRs-Fixed: 2488966
Wifi turn-on will timeout and fail if system suspend occurs during idle
restart. To solve this, abort system suspend during idle restart.
Change-Id: I0a4a1fc9525b5fb19f51a289ca0b8a76c73038e6
CRs-Fixed: 2506716
Currently the host driver updates the okc, pmksa flags
only after the set key management command is received from the
wpa supplicant. This is not needed as set_pmksa command is
received for 802.1x/SAE/OWE and key management needs to be
offloaded to firmware always for it to be able to include PMKID
in reassoc request/responses.
Receive the pmkid_modes from ini config parsed to mlme and
update in 11i tlv param of ROAM_SCAN_MODE command.
Change-Id: If169b402731e3713479e90b627060df470e5dab2
CRs-Fixed: 2506580
The host driver drops any authentication frames that doesn't
belong to current pe session. But, for WPA3 SAE roaming
pre-authentication is offloaded to user space, and as part of
that, the host driver should handle the SAE commit/confirm
messages received from the target AP for which there is no
pe_session.
Add changes to check the auth algorithm in the authentication
frames received for which no pe_session exist and if auth algo is
SAE, indicate that frame to wpa_supplicant.
Change-Id: Ie911524475423704246c1b4f694b83abdbf5129a
CRs-Fixed: 2505556
RDDM can be collected during kernel panic and pld_collect_rddm is
a blocking call that will cause WLAN watchdog if the caller is from
scheduler thread. Hence revert this change and collecting FW dump
inside kernel panic handler.
CRs-Fixed: 2506844
Change-Id: I8667896e61b856fc2e03e1c8278a6451b6a04c24
Currently driver passes sta_id through out the call for getting the TSM
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.
Remove the usage of sta_id in get TSM stats path.
Change-Id: I1efbb1bfdc8df84e9b6a71dcd5bd39ea93ced21a
CRs-Fixed: 2484701
Increase the max number of MSDU in AMSDU limit to 15 and set the
default value to 0 to config the FW in auto mode selection in which
FW picks the maximum number of MSDUs in AMSDU based on connection mode.
Change-Id: I6c1f1292a31fc9ea857e60e7a81d10b6def5cbc1
CRs-Fixed: 2502544
WOW_NLO_SCAN_COMPLETE_EVENT should be always a wakeable event so
there is no need config it again during runtime PM suspend. Same
for WOW_NLO_DETECTED_EVENT which is already configed by default.
Hence it is safe to skip config dynamic wake events for runtime
PM.
Change-Id: Ie99f9f3dbd5e696601c79b826dbc949c0b439dc1
CRs-fixed: 2502738
FW offload has no wow-wakeup-filter for GC vdev because the number of
filters is limited to two but Host tries to add filter from VDEV-0 to
VDEV-2. To address this, change the max wow config in FW to five.
Change-Id: Ie44403ef127cf0160f39aa001deddee2205b4696
CRs-Fixed: 2505367
Disable fw log parsing feature config flag for Lithium
targets as firmware will no longer use WMI events for
sending logs.
With Lithium config flag disabled:
text data bss dec hex wlan.ko size
6767311 251817 2424616 9443744 9019a0 17096KB
With Lithium config flag enabled:
text data bss dec hex wlan.ko size
6699206 81613 2423872 9204691 8c73d3 16768KB
Change-Id: I536a20a0c0d7c4abcee775e3007d1749a21b648b
CRs-Fixed: 2504803
Currently, the cdp API cdp_register_peer takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.
Change-Id: I0e92258777aff02940dd619c4d2ad784aa3e7f31
CRs-Fixed: 2502996
Cleanup ol_txrx_register_peer to be peer mac address based
from local peer id based.
Change-Id: I59fd19c0185d8fe89563ac78bc9e8a8117c12ed1
CRs-Fixed: 2503182
In standard linux kernel, struct dma_iommu_mapping is not defined for
arm64, while in qualcomm linux kernel, struct dma_iommu_mapping is
defined for arm and arm64.
To fix build error in standard linux kernel, use struct dma_iommu_mapping
only when ENABLE_SMMU_S1_TRANSLATION is defined.
Change-Id: Ib02073163f2a38c47f864c6592fe2470046868ce
CRs-Fixed: 2496733
Currently, the IPA AIP ucfg_ipa_wlan_evt takes as input the sta_id. As a
part of cleaning up the usage of sta_id, remove the parameter. Since
mac_addr is already present in the list of parameters, no need to add.
Change-Id: Iacc4a05de88973014eb4bcc1dfc97b7dc4a0d4fa
CRs-Fixed: 2503944
Local sta_id or peer_id is being cleaned up across DP, HDD
and PS/WMA. So, any references to local peer_id/sta_id will
be replaced by peer mac address and all interactions
between the layers will be based on peer mac address.
Change-Id: I78230bf1e1ec090e83245bff04953fa2e03b91cd
CRs-Fixed: 2504013
Currently driver passes sta_id through out the call for getting the SNR
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.
Remove the usage of sta_id in get SNR stats path.
Change-Id: I39482d8f6d8e3bd32e940a85d5592dada8f0460b
CRs-Fixed: 2503956
Currently the function hdd_get_peer_idx is not being called from
anywhere. As the use of sta_id is being depreceted, the function can be
safely removed.
Clean up the unused function.
Change-Id: I6896d03ad2e8b427147e2259b737836cd3f44ca0
CRs-Fixed: 2484699
Fix out of bound array access for operating_channel[] and
vdev_id[] in policy_mgr_is_chan_ok_for_dnbs.
Change-Id: I21f1d20ebce7c775abd75524fc388160a1154a36
CRs-Fixed: 2504888