DP TXRX module is not cleaned when DP Rx thread init failed
To fix this, when DP Rx thread init fails, free DP TXRX module
as part of failure sequence.
Change-Id: I311b84a76036c8dd1e60b9f8c653fc126e031543
CRs-Fixed: 3413933
Limit num_channels to be less than NUM_CHANNELS to fix potential
out of memory access when calling add_sbs_chlist_to_pcl in the
policy_mgr_get_channel_list.
Change-Id: I58fdbc67b7692c7d1dff5aca6cbd6dc67115a65c
CRs-Fixed: 3416540
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection
Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
Rename policy_mgr_is_ll_sap_present() into
policy_mgr_is_vdev_ll_sap(). As this api mainly checks
whether the given vdev is ll sap or not
Change-Id: I7f87aceeb0ed6ac5bb7014db1fd6213e62e6305e
CRs-Fixed: 3413644
Handle mlme_vdev_reconfig_notify callback to get notification
after receive the first ML reconfig link removal IE.
Override the delete timer tbtt to 0 to fire the timer early
if timer is less than 1s. This is to avoid host delay of sending
to link inactive command to FW and FW receive deauth before host
inactive link command.
Change-Id: I7865b7942813fd7facf4daa8624c976166814311
CRs-Fixed: 3380147
Handle link removal for ML STA vdev:
Send force link command to target if MLO STA link number > 1.
Select other inactive link to active if possible.
Change-Id: I40567364ad240399caf6be6683b96d17f6a4aab0
CRs-Fixed: 3352849
Currently, while fetching pcl for some vdev id, host driver retrieves
the number of ML connection and provide as max index value for vdev list
and info array. This max index can't be more than
MAX_NUMBER_OF_CONC_CONNECTIONS from functionality perspective.
But static analyzer tool complains that there are chances for out of
bound access of the given arrays while filling the indexes.
So, to fix this, add checks to avoid any such possible out bound access.
Change-Id: I09261e23620df5fc73887c9e5633b408afa66796
CRs-Fixed: 3412348
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
trigger reason, trigger condition, abort reason,
scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
number, dwell type, max dwell time of each channel
and total scan time.
3.all types of roam related frame information, include
timestamp and successful or failed status for Preauth,
Reassoc, EAPOL-M1/M2/M3/M4.
Cache roam information in wlan driver, when qca vendor
cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to
user space.
change-Id: Ic5e1120b51c20c103100833b4296002c5939b021
CRs-Fixed: 3389269
Currently, if Channel change is required via DCS then ACS
is triggered to select the best available channel . In case of
XR SAP optimization, SAP can not come on 2 GHz and frequencies
that can be shared by current SAP frequency on same MAC are
removed from scan list. As result of which frequencies
5/6 GHz in case of DBS and 5 GHz low/5 GHz high + 6 GHz based
on which 5 GHz range is shared with 2 GHz will be disacrded from scan
list. In short Scan can not be triggered on freqeuncies of same MAC
on which SAP is up and can not come in MCC. So, if any other device
mode is up on 2 GHz on other MAC turning on SAP on other MAC can
cause MCC in case of SBS and DBS HW which is not preferred.
Fix is to start SAP on random 6 GHz channel when case CSA is required
due to DCS in case SAP can't come up on 2 GHz and scan can not be
triggered for same MAC on which SAP is enabled i.e ACS optimization
is enabled for XR SAP.
Change-Id: I0cb46a409e3ee04044f7a0b12addec464e87ef7d
CRs-Fixed: 3404097
Add support to configure EMLSR padding delay subfield.
Host should advertise this value in assoc request if
it's greater than the value configured by FW during boot.
Change-Id: Ia9b1e748745278ed502980697f4851f8044db658
CRs-Fixed: 3364158
Currently, if there is a legacy connection and a new STA
connection comes up with EMLSR capability, Host does not
advertise EML caps in assoc request. But there is no support
to enable EMLSR mode if the legacy connection goes away.
Thus, add support to handle this concurrency scenario as
follows
1) Host should advertise EML support capability in assoc
request.
2) After association is complete, force disable one of the
EMLSR links.
3) Once the legacy connection goes down, re-enable the
disabled link.
Change-Id: I5d9f37827e2a9f0571fa9733b4779668bd987f92
CRs-Fixed: 3363115
During OWE roaming if north bound disconnect is received or
link vdev connection fails copied reassoc response is not freed.
Fix is to free the copied reassoc response in the disconnect path.
Change-Id: I19d839b63c774b29ee449635722fae744c7e461d
CRs-Fixed: 3404843
Currently, TDLS STA disconnect notification is not sent during
roam, so WMI_TDLS_SET_STATE_CMDID with disable command is not sent
to firmware. This leads to unexpected behavior in firmware when STA
have migrated to different mac based on new band (2 GHz to 5/6 GHz or
vice-versa) due to roaming, but TDLS STA remain on previous mac.
Firmware expects host to send WMI_TDLS_SET_STATE_CMDID on roam also
so that it can destroy and create new TDLS STA instance and map TDLS
STA to new mac.
To fix above issue, send WMI_TDLS_SET_STATE_CMDID with disable TDLS
state to firmware after driver receives roam sync indication which
leads to destruction of TDLS STA instance in firmware.
Host driver would later send WMI_TDLS_SET_STATE_CMDID with enable TDLS
state(not part of this commit) after successful STA roaming so that
firmware maps TDLS STA with new mac.
This change also removes unused ucfg_tdls_notify_sta_connect() and
ucfg_tdls_notify_sta_disconnect() APIs.
Change-Id: Id680d0f6193740b24e78115ac7dc7be26e28acff
CRs-Fixed: 3388507
For newer AKMs with key materials length greater than
16bytes, kek, kck lengths varies. Therefore, get the
lengths explicitly from firmware and use them for saving
kek and kek materials.
Change-Id: Ie7ae61744e101899f12addc1baf90aed542a367b
CRs-Fixed: 3371470
Refine target_if_ext_twt_evt.c to remove duplicate conditional
checks.
Also fix some code style errors by adding a blank line return to
last return in the API
Change-Id: I759becd864293b8bec35cb54763bdf4b047537c2
CRs-Fixed: 3402852
For low latency SAP, scan is not allowed on same MAC on which
SAP is up. So, consider HOST_CONCURRENT_AP_POLICY_XR when scan
list is required to be updated for low latency ap profile.
Change-Id: I6e25cd67298c16dee211edf6526be101054bd787
CRs-Fixed: 3404641
In the case of EHT, if the mode is MLO then set AMSDU/AMPDU
caps per vdev instead of setting it only on assoc vdev.
Change-Id: Iaf480ee6a42cea83e30f412f663f688c0330d246
CRs-Fixed: 3392015
Add support to force enable/disable MLO links in MLSR mode
based on link mac address. The input will be an array of
active link mac addresses. Force enable the links associated
with all the mentioned link addresses and force disable the
links associated with mac addresses that are not given in
the input.
Change-Id: I14660f14ba6381da04460b641f971734c03aa9a7
CRs-Fixed: 3391992
In multilink ML STA, if one link is removed by AP, and no other
active link, trigger roam by roaming invoke command.
Change-Id: I61d9413e2102315b258f946af2193f7cfb7b91aa
CRs-Fixed: 3352870
Currently smart tx module is not included in gFwDebugModuleLoglevel
ini as default.
Add the smart tx module with log level 1 in gFwDebugModuleLoglevel
ini as default.
CRs-Fixed: 3396120
Change-Id: I09e49745dfc17926d1f59b6bbe7a99ae09e36a16
Limit num_chan to be less than WLAN_MAX_LOGGING_FREQ
and NUM_CHANNELS to fix potential out of memory access.
Change-Id: I5e0bcd449a738fa416daeaebaeafbd2ec11913ba
CRs-Fixed: 3405136
Extensive amount of PMO logs are seen in case of crash, which
decreses the debugging effciency.
To address this issue, optimize PMO logs.
Change-Id: I7c3b76d72deaf53782befc6d931866d907b5d168
CRs-Fixed: 3402290
For bw higher than 20 MHz ACS request, such as 160 MHz,
weight calculation will combine the neighbor channel's
weight which maybe Non PSC channel, the previous setting of
combined weight to channel of lowest weight of neighbor channel.
That maybe Non PSC channel, that causes the final ACS result
is Non PSC channel, which is unexpected for standalone SAP.
Fix by set combined weight to PSC channel, so that PSC
channel will have a valid weight in final sorting with 5 GHz
or 2 GHz list.
Change-Id: Ic37d005af524f5ff2c8cb2c86647f02ced7c32d7
CRs-Fixed: 3394384
Componentized code should be adhering to the coding standard.
However struct roam_offload_synch_ind has a large number of
camelcase members.
To fix this replace camel case members with snake_case.
Change-Id: If866379d8f01cc0e932ea391d586575de4af9163
CRs-Fixed: 3383579
Even primary interface is configured, if dual STA policy is
STA_POLICY_UNBIASED, MCC is disallowed for both roaming and connect.
Change-Id: I6e26fdcdc930eb116771abfe310811c6534be09f
CRs-Fixed: 3396425
For mgmt frames of subtype action and category not public,
kernel will use MLD address in SA, TA and BSSID fields.
So these fields in the mgmt frame received from kernel
needs to be translated to link addresses and similarly,
in frames received over the air, the link addresses in
these fields are to be changed to MLD address before
sending to kernel.
Change-Id: Ie63c09ece7550dfdc69c82ef8b7111251deee33e
CRs-Fixed: 3392314
Add new parameters to specify link inactive vdev list to
support new MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE mode.
Change-Id: Ia51d2c77680b207bb5fb1bb5fbd91f2fd0ad5fd9
CRs-Fixed: 3352809
In case of legacy to multi-link MLO roaming, if roam sync event
handling fails, then the pe_session is deleted for the link
VDEV and the cleanup happens only for the assoc vdev. Since,
the link vdev doesn't have proper session/vdev params, the
cleanup fails in link VDEV. This leaves the link vdev in UP
state, even after disconnection. Therefore, subsequent attempts
to connect to an MLO-AP would fail since the partner link is
never cleaned up and is in invalid state(UP).
To fix this, propagate the HO-failure error through state machine
and move the VDEV SM from UP->DOWN directly.
Change-Id: I6480a1821ab4c8cf9af6cd96af0f7889307c3b18
CRs-Fixed: 3362995
Add ini groam_info_stats_num used to control wlan driver
cache roam statistics information number.
Change-Id: I203257af37dcac76c6822ddfcc2e9dc723078a25
CRs-Fixed: 3393712
In SAP+NDI DBS case, SAP channel is changed for channel avoid event,
policy_mgr_update_indoor_concurrency is called, and country_change_work is
scheduled, but blocked for channel switch is already in progress,
both SAP and NDI adapter hold ref NET_DEV_HOLD_COUNTRY_CHANGE_UPDATE_SAP.
At same time, NDI interface is destroyed, assert when found ref leaked.
To fix it, for 2nd CSA req (found CSA in progress already), don't
block, just log and return.
When channel change finished, policy_mgr_check_sap_go_force_scc is called
to check whether new channel change required.
Change-Id: I0bb3b35265f77d949b3c2916ee1ba95a8239c61c
CRs-Fixed: 3396079
Current code will force SAP restart on other channel when SAP/STA scc
on indoor channel and STA get disconnected. If indoor channel support
is enabled, SAP shall be able to start on indoor channel alone. So add
indoor channel support check before making SAP restart decision.
Change-Id: I3666f11cda75984636bdda9160bb8232d64615d6
CRs-Fixed: 3379903
Add APIs to set/clear link removal flag on vdev object.
If link is removed, drop the disassoc or deauth frame for
the vdev.
If disconnect start is indicated, stop the reconfig timer.
Clear the link removal flag on disconnect complete.
Change-Id: I729621aec36b82de6e88970675b020a2c5721e68
CRs-Fixed: 3352779
Add check for CONFIG_ARCH_PARROT to enable packet capture
compilation for parrot.
Change-Id: I9eab0c37f5a4a849ed6e340bb8b26153030ad5b6
CRs-Fixed: 3377226
Currently if host enable AFC in WMI INIT CMD, target will trigger AFC
request if current country has AP SP reg rules. We have changed regdb
on specific SP to enable AFC test, to not affect other SP which shares
regdb and FW, introduce INI to control AFC enable/disable for
flexibility.
And because currently no country support AP SP reg rule per spec,
so disable AFC by default.
Change-Id: I0e5eb2dac0a8df01635437fe8353ca5431ae5d2a
CRs-Fixed: 3393896
Currently, host multiplies ROC duration by 10 for GAS tx frame.
since a one shot ULW (absence notice) has been given to peer,
peer would not be available for ULW duration due to which fw
can’t cancel the already communicated absence schedule.
Fix is, avoid multiplying the received ROC duration for
GAS frame.
Change-Id: If53d5ee446fc5f4df2fcf117a436133116270b9e
CRs-Fixed: 3378272
In STA+SAP / GO concurrency, SCC is enforced by moving SAP / GO
to STA's operating channel. STA side, if there is a CSA
then SCC will be enforced only after STA moves to new channel.
In usecase of STA + GO SCC on DFS channel, CSA is sent with no-TX
and STA's movement will only happen once CSA count becomes 0.
This will block data transmission till then, which will have bad
user experience in case of XR where, it needs to have periodic data
transmission in every 1 second with GO interface.
This new INI is added to handle this scenario where SAP / GO will
move first followed by STA.
Change-Id: Id642872da4f3403a5168a2fad58b4c971cd88288
CRs-Fixed: 3380861
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update caller APIs to use super channel list.
Removed wlan_reg_get_bonded_channel_state_for_freq and
wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode to use the
super channel API wlan_reg_get_bonded_channel_state_for_pwrmode
and wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode
Change-Id: I797ecaf0d01d47c5369f9e334805d855841566df
CRs-Fixed: 3144692
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update API to use supper channel list. Replaced
wlan_reg_get_5g_bonded_channel_state_for_freq API to use the
super channel API wlan_reg_get_5g_bonded_channel_state_for_pwrmode
Change-Id: If5d40a704efa3130da63ba20f163aa2e0e027be4
CRs-Fixed: 3143058
Previously, IPA had its default vote which will bump up the SNOC
frequency to 200 MHz. Now IPA has removed its vote which is
causing throughput drop in HE cases for SAP and P2P GO mode.
To fix this, add new throughput level TPUT_LEVEL_HIGH_HE_CASE and
provide ini to set its threshold to increase SNOC frequency to
200 MHz. To enable, set ini BandwidthMidHighThreshold to 7000.
Change-Id: Ica8c640597c37602aea2f5e4ff6b0646c49ff548
CRs-Fixed: 3297833
Currently, the definition of WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
is present at the fw-api level. The host should not be using fw-api
definitions outside the WMI TLV code. To make sure it,
1. Add host-defined enum vendor_control_roam_param which defines
the param IDs that the host supports.
2. Add logic to convert host-defined enum vendor_control_roam_param
to fw-api defined enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID and
vice versa.
Change-Id: I035ece1bc0af8e583782460868193affb76db0f3
CRs-Fixed: 3363916
Currently while updating EAPOL stats, there is no check
for subtype greater than array size, which can result in OOB access.
To fix the issue add additional check for subtype <= EAPOL M4 to
avoid OOB access.
Change-Id: I906ce9166b7a0202335403c77dc6bcd135dea663
CRs-Fixed: 3387939
Add critical update feature code. If BSS parameters change
count (BPCC) is changed, the value of cu_flag returns from
function lim_check_cu_happens is true. It can try to update
the critical update IEs code logic per cu_flag.
Change-Id: I39445a75e747e6e00a29be726fd447b9fbc7fb17
CRs-Fixed: 3296181
Currently gStaKeepAliveMethod and station_keepalive_method are not
mapped properly due to an offset of one. Fix this by updating enum
definition.
Change-Id: I572ee472b0b45816bf26830060d2b0707c90f387
CRs-Fixed: 3385907
Some legacy STA doesn't recognize the EXT CAP IE with
length greater than 8bytes. Therefore, these STA cannot
associate with hotspot broadcasting newer capabilities
in the extended IE.
To fix this, add an ini which would override the beacon
protection config in host driver.
Based on this ini, the beacon protection would be disabled
only for non-6 GHz and non-11be SAP profiles, as beacon
protection is mandatory in 6 GHz and 11be cases.
Change-Id: I672b707f6955fa31938aebba5e25461dd40cee4e
CRs-Fixed: 3378974