Update LFR2 self reassoc failure processing:
1. remove lim_send_switch_chnl_params() from
lim_restore_pre_reassoc_state() when self reassoc failure
to avoid this race condition: one one hand host let FW do
restart, and on the other hand VDEV sm transition to stop
state. Otherwise VDEV sm cannot handle EV_START_RESP event
correcly.
2. register .mlme_vdev_sta_disconn_start callback with
cleanupTrigger eLIM_HOST_DISASSOC.
3. when self reassoc fail, notify reassoc failure reason
to CM SM so that CM SM can trigger CM_DISCONNECT_REQ, then
invoke .mlme_vdev_sta_disconn_start doing cleanup action.
Change-Id: Icb68202e9f72fcbe3e0e4d3e9006a65a73123692
CRs-Fixed: 3109987
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer after sending
RSO stop command to firmware and wait for a maximum of 6 seconds
for the response. Host can stop the timer and allow the commands
to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
HO_FAIL event: Host needs to wait till HO_FAIL event is received
If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.
Also, set WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS always when MLO is
supported while sending RSO_STOP to firmware. It's sent only
in case of wpa_supplicant disabled roaming currently.
Change-Id: I8182e60beb9288dba23cc72e978dc781c8ab1707
CRs-Fixed: 3106023
Currently moderate latency level is not used. Rename moderate
latency level to XR latency level to be used in XR applications.
Change-Id: Ia7f65c3565f6704b9571161aabefb3a8b47cce1e
CRs-Fixed: 3116839
Currently regulatory channels are disabled for
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT vendor command
event if ini coex_unsafe_chan_nb_user_prefer is not set and if
STA operates on disabled channels which results in crash for
STA interface in STA + SAP SCC case.
Hence coex_unsafe_chan_reg_disable ini is controlled based
on coex_unsafe_chan_nb_user_prefer.
Ini behavior summary:
|----------------|----------------------|-------------|--------------------------------|
|User prefer ini | Reg chan disable ini | PLs | Expectation |
| | | | |
|----------------|----------------------|-------------|--------------------------------|
| 1 | 1 | LE | accept freq ext command and |
| | | | disable the regulatory channel|
|----------------|----------------------|-------------|--------------------------------|
| 0 | 0 | Non-Pixel SP| reject freq ext cmd driver and |
| | | | returns NOT SUPP |
|----------------|----------------------|-------------|--------------------------------|
| 1 | 0 | Pixel SP | accept freq ext command and |
| | | | Don't disable the reg channels|
|----------------|----------------------|-------------|--------------------------------|
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f856
CRs-Fixed: 3128908
Before MLO sta partner link is up, FW can't indicate CSA event to host.
For this case, host need save csa parameters and process it when MLO
sta partner link is up.
Change-Id: I543c5e1069af5b1e88c6619364a7a44330134d2c
CRs-Fixed: 3082437
Currently, for Broadcast TWT setup command, if peer does not
support TWT responder capability and supports broadcast TWT
capability then host rejects broadcast twt setup command
based on TWT responder capability.
Add condition to check the peer broadcast capabilities before
sending broadcast TWT setup request to firmware.
Change-Id: Iaa8941424d948d501655859564669baff4af9e69
CRs-Fixed: 3092276
Update latency flags inis to 64-bit configuration and use
lower 32-bit for firmware configuration and upper 32-bit
as host configuration. Also remove separate inis for host
latency flags.
Change-Id: Iff62b847f40ae7fa5f82948ec37d756144860474
CRs-Fixed: 3115853
TWT initialisation will fail for each non 11ax connection
so an error log is not needed if peer object for TWT is not found.
Also, RIC data is not mandatory in FT session, so if its not
present, log a debug level print instead of error level.
Change-Id: I7fec9f88aa68b2ae947e34a1aede311e9fed2d05
CRs-Fixed: 3117535
Extend gStaPrefer80MHzOver160MHz ini to limit STA connection in
80MHz BW for HE/VHT mode. In case of XR use-case, higher
throughput is not needed but higher reliability is expected.
This ini helps in XR glass device to always connects in 80MHz.
Change-Id: Icefd2d54214351c04dd7420269c308cec2b5ae31
CRs-Fixed: 3117216
Intersecting EHT beamforming configuration from ini and FW
indication, then save it to eht caps of mlme.
For sta, update mlme EHT beamforming configuration to FW
through WMI_VDEV_PARAM_SET_EHT_MU_MODE directly.
For ap, intersecting mlme EHT beamforming configuration and user
configuration, then send result to FW.
Change-Id: I3d6185896af9fc58eb1fb6db913d4a425f72c696
CRs-Fixed: 3113235
Currently coex unsafe freq event is honored from firmware using
"wmi_wlan_freq_avoid_event_id".
As per requirement, add ini to don't honor coex unsafe freq
event from firmware and use the coex unsafe freq list from
vendor QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT.
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f705
CRs-Fixed: 3114742
For MLO Roaming,
- RSO offload commands will be sent
to FW only on assoc vdev.
- Add new state for link vdev, will be
used only during roam sync.
Link vdev RSO state change : DEINIT -> MLO_ROAM_SYNCH -> DEINIT.
Change-Id: Ifb89e23fc48356ec8f0bc6a045f2dd4d81038076
CRs-Fixed: 3098570
Currently in SAP mode, when host driver receives disconnect for
station, first it gets disconnect stats with serialization command
and then it sends delete peer command to fw. There is an issue with
this approach, if there are maximum number of clients are connected
to a SAP and all of these clients gets disconnected at the same
time, in that case there will be a disconnect stats command and
peer delete command in serialization, because of which serialization
queue gets full.
To address this issue, remove disconnect stats command from
serialization and send this command just before sending peer
delete command once peer delete command gets serialized.
Change-Id: I2fa1a5a393939eebbce796e11348fa7c040b40e8
CRs-Fixed: 3100914
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.
To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.
Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
Add ini "disable_mcs13_support" to disable mcs13 to when SAP working
on 80p80MHZ/160MHZ/320MHZ and mcs12_13 supported.
Change-Id: Iff7043cc422cbe00fa771fe5fad9ad992d6deaf5
CRs-Fixed: 3062196
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).
Change-Id: I06a14d099c516767fe57ba94acc2a5fb95dc4e17
CRs-Fixed: 3052909
Besides MLO, legacy mode 6G SAP + 5G(2G) SAP are going to support RNR
IE. Move RNR related flag from MLO to private mlme component.
Remove mlo_rnr_updated in struct mlo_link_ie_info.
Add notify_co_located_ap_upt_rnr and related API in mlme_legacy_priv.
Change-Id: Ife86d1ed2fe8b633f6167750053b2aff37911299
CRs-Fixed: 3092483
Handle SAP and MLO STA concurrency such as:
1) If MLO STA is present with both links
in 5/6 Ghz then SAP comes up on 2.4 Ghz,
then Disable one of the links.
2) If there is channel switch for sap from
2.4 ghz to 5 ghz, then enable both the
links as they were disabled by previous
operations when sap was on 2.4 ghz.
3) If MLO STA is present with both links in
5/6 Ghz and SAP, which was present on
2.4 ghz, stops then renable both the as
one of the links were disabled because
of sap on 2.4 ghz.
Also, in case where MLO STA roamed from
5 + 6 link to 2.4 + 5/6 link force scc
will happen and the disabled link has
to be enabled.
Both links should only be enabled if mlo
sta has more than one links.
Change-Id: I0fd0093b20336ae32325981589c399b44a44b64e
CRs-Fixed: 3092202
Add INI - mgmt_frame_hw_tx_retry_count to configure MGMT
frame HW tx retry count for certain frame types.
The INI String format:
frame_hw_tx_retry_count="<frame type>,<retry count>,..."
The supported frame types are defined by enum mlme_cfg_frame_type.
Retry count max value is 127.
For example:
mgmt_frame_hw_tx_retry_count="0,64,2,32"
The above input string means:
For p2p go negotiation request fame, hw retry count 64
For p2p provision discovery request, hw retry count 32
Change-Id: I32f6c7d83ede9b28484c7a0b29824bde32e06422
CRs-Fixed: 3082532
Currently, in TWT setup command, if peer does not support TWT
capabilities then firmware returns status = 4.
Add condition to check the peer capabilities before sends TWT
setup request to firmware.
Change-Id: Icd1cbeff2db2bdec4e456013e98270a526ff22ce
CRs-Fixed: 3082071
To support QCN7605 DBS chip, which has 3 RF chains, chain0 is for 2G,
chain1 is for 2G/5G, and chain2 for 5G. So it need 3 bits to
indicate RF chainmask for DBS mode. This is to extend the value
range for 2g/5g chainmask setting for QCN7605 DBS mode.
Change-Id: I43ee3393c121b6e9609223af1db0059158d44078
CRs-Fixed: 2933722
Currently host doesn't support below configuration for FW:
gEnable2x2=0 (disable 2x2 mode)
dual_mac_feature=0(ENABLE_DBS_CXN_AND_SCAN)
tx_chain_mask_2g=0x1
rx_chain_mask_2g=0x1
tx_chain_mask_5g=4
rx_chain_mask_5g=4
disable_rx_mrc_2g=1
disable_tx_mrc_2g=1
disable_tx_mrc_5g=1
disable_rx_mrc_5g=1
gSetTxChainmask1x1=0
gSetRxChainmask1x1=0
Now there is a new requirement for QCA6595:
1. RF chain0: WLAN 2.4G with 1x1 antenna
2. EF chain1: WLAN 5G with 1x1 antenna
3. RF chain1: BT 2.4G with 1x1 antenna
To support this new requirement, need to exclude the case in
condition check when gEnable2x2=0 and dual_mac_feature=0.
Change-Id: Ic08a4b7f5eb4beece867d7d7b4ae1796e67eae85
CRs-Fixed: 3074098
Add ini support for tx_retry_multiplier and send
tx_retry_multiplier to fw as PDEV_STATS_TX_XRETRY_EXT
pdev param, so that fw can multiply the counter by the
percentage provided by user.
Change-Id: Ie2f06dc3aaa4a161a451b68abd085cc1537eb468
CRs-Fixed: 3066799
Add self bss roam check in roam invoke cmd handler,
If ini enable_self_bss_roam is 0, don't permit to roam
to current connected bss, just keep current connection.
Change-Id: I7fe724e26d15bcc008957829e4e3384c60b58773
CRs-Fixed: 3069587
Add new vendor command to enable the roam events stats from the
driver/FW in both resume and suspend mode.
New roam param is introduced to indicate the FW to enable/disable
the roam stats using the new roam set command.
Change-Id: I6d04f0946e6735613a4cf3d4361bf31052314fa0
CRs-Fixed: 3036518
The RF test mode cfg item is kept as 1 by default and no action is required
during init if it is set.
Change-Id: Ieb561fb81f77470c45df46ee2319ff51c05df742
CRs-Fixed: 3056554
When a sta is being steered, sending a deauth may interrupt the
association/EAPOL handshake on the new BSS.
Do not kickout sta if it is being steered.
Change-Id: I15dd26bca27699087cdb790de8cb95281dade385
CRs-Fixed: 3042990
Host sends the EXT CAP IE based on the capability
coming from the supplicant in join request. But, after
roaming the cached join request will be freed. Therefore,
after roaming few capabilities sent by the userspace are
not saved and therefore lost in reassoc request.
Save the EXT CAP IE from the join request in the VDEV
and use the cached capability for sending Ext cap IE.
Change-Id: I71947388b4c6e9e56a5832557416d9b462de70e2
CRs-Fixed: 3038496
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.
Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.
Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
For STAUT to follow the rules governing OBSS Narrow Bandwidth RU in
UL OFDMA Tolerance Support, bss_color_collision_det_sta to be set
to 1.
Change-Id: Ibe283f8bec9febbaf9a876d1afd55389ea4c971d
CRs-Fixed: 3053624
Currently, the Rx/Tx highest Long GI data rate field in
the VHT IE is filled with short GI data rate. Therefore,
change the highest supported data rate back to LGI data
rate.
Allow the short GI rate to be filled as the highest supported
rate in the wiphy if short GI is enabled.
Change-Id: Ie0652b4cdeef370cb8ad3d11b5d36b6959c1cbcb
CRs-Fixed: 3053946
Currently there is no ini to enable/disable vht mac 10, 11
and this feature is completely based on FW capability.
Based on current requirement add support to enable/disable
vht mcs 10/11 feature from ini.
CRs-Fixed: 2861854
Change-Id: I350daea8a2f81bfeac25ccdda026d1a5d1c133e3
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.
Change-Id: I6973d9c366ec6a9c6164dd19f6f4775dd3ebf5f0
CRs-Fixed: 3049942
After mac randomization, the change interface causes
the WTC mode to be reset as part of the hdd_init_station_mode()
Initialize the WTC mode during start modules as part
of the mlme component cfg values population.
Change-Id: I4a57c29053f0100c14cef067952d49cecbdc8ea5
CRs-Fixed: 3047594
There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.
Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
Provide below APIs for easy mesh.
API to get the current frequency of the given VDEV.
API to get acs status of the given VDEV.
API to get cac status of the given VDEV.
API to get/set bandwidth of the given VDEV.
API to get band information of the given VDEV.
API to get connected STA count of the given VDEV.
API to get BSSID of the given VDEV.
API to get SSID of the given VDEV.
API to set channel of the given VDEV.
API to get/set cac timeout of the given VDEV.
API to get/set country code of the given VDEV.
Change-Id: Ia0bd201ad8155a66a4a8c5517f6fa43f3f358505
CRs-Fixed: 3027192
Update operational rates set, extended operational rates set
and MCS based rates set in VDEV MLME legacy priv object on
connect success.
Refine the APIs for fetching these rates.
Change-Id: I7697b3d2e26e2fc565a2e672afe19f255af89d7e
CRs-Fixed: 3044036
Fix few missing attribute in below connectivity events:
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_EAP_RESPONSE
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_ROAM_SCORE_CURR_AP
Also send the roam candidate info properly to userspace.
Change-Id: Ia9c4f095316adf8f40294f1e119cad648749bb72
CRs-Fixed: 3037650
Fill the QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA event data and
send the event to userspace.
Add dispatch table for the connectivity events to lookup
attribute type, id and length.
Change-Id: I1fc8467409852a430874ac1d926b06ec8dafb736
CRs-Fixed: 3030085
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.
Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
Add ini configuration to limit supported TX/RX HE MCS rates.
In case of XR use-case, higher throughput is not needed but
higher reliability is expected. So, this ini provide option to
limit HE MCS rate capability to MCS0-7 to achieve higher reliability.
Change-Id: Id6343f5b28d341e5ee377d11ad8420e3b8ded6ef
CRs-Fixed: 3033342
The 6GHz security check is enabled by default. Disable the check
if RF test mode is enabled.
Change-Id: Id6af514f6a31f6351b1b0d784c2b9f7d301496c0
CRs-Fixed: 3040621
Add support to parse roam frame info TLV.
Add changes to send the BTM request logging event.
Change-Id: I24fab5fc0ec204fce74cf822742b5a44b0e7774f
CRs-Fixed: 3013489
Restrict the dequeue logic to send only 20 logs per second
to userspace. Add check to see if queue is empty before
trying to dequeue.
Change-Id: I778556c649d123718cf76c943c5b2ed7f6c6e8e5
CRs-Fixed: 3014554