Currently driver advertizes the STA+STA feature in the
get supported feature without checking the FW support.
Advertize this feature only when FW supports it.
CRs-Fixed: 3123324
Change-Id: Icd6a9d2ce93eeeca8962d2c8765930986431d71f
Add tlv array number check for vdev_mac mapping elements in roam
and roam sync event to fix potential out of bounds access of memory.
Change-Id: Iad3951bab65153a67d1b76aa745a831d0fd2cb45
CRs-Fixed: 3132366
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
If all the partner links are in quiet status, do not send force inactivity
on the link.
Change-Id: Icf5356f9d05e871dcf602e2382a1d150dd057aed
CRs-Fixed: 3101961
During mlo disconnect link vdev disconnect is processed
before assoc vdev.FW expects RSO stop before vdev stop/down
on any vdev.Changes made to handle sending RSO stop on assoc
vdev during disconnect.
Change-Id: I727cedffa4a11f991fd38aa8253c2176271f7b89
CRs-Fixed: 3126419
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
In TWT component, add support for TWT get_status command
i.e when host wants to query current status of TWT sessions.
Change-Id: Ib43009e5f6a90c589db25f78e1ca43563f2950fe
CRs-Fixed: 3085483
In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.
Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
In TWT component, add support for TWT pause command
i.e when host wants to suspend the TWT session.
Change-Id: I8a60bb40fe9d37121d700f246b91e3211af66189
CRs-Fixed: 3085990
Add SAP twt teardown support to componentization.
i.e to terminate the TWT session.
Change-Id: Idc12c564f3fb078aee4ff11831008d06876047e6
CRs-Fixed: 3085562
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
Add ini support to configure 6GHz active and passive
scan dwell time and send this to firmware
to be used for LFR scans via WMI_ROAM_SCAN_MODE.
Based on these values, firmware will use host sent values
else use hardcoded values.
Currently firmware uses hardcoded values to configure 6Ghz
roam scan dwell time. With this change user can configure
it using INI.
Change-Id: I90e79ad59eef7f73faa0b9dfd2d38b65aca12285
CRs-Fixed: 3116861
Enabling ndi_max_support=2 is consuming 4 vdevs + 11 peers
in firmware when STA and NAN(+2 NDIs) are active. Max peers
allowed in firmware are 11 only and this ini configuration is
consuming all of them.
There is no provision/memory for new peer allocation even for
simple use cases like roaming(roaming needs a temporary peer).
Revert this change and set the ini ndi_max_support=2 in target
specific ini files if required to avoid the peer exhaust issue.
This reverts change: Id45147541dba057c2f3420adee43c7a56e3ee72b.
Change-Id: If655b63071b07e96b4e343b8e1bb65acd33be625
CRs-Fixed: 3120555
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
Add "gEnableUpdateScramSeed" ini support to send
WMI_PDEV_PARAM_EN_UPDATE_SCRAM_SEED command to firmware
to enable OFDM scrambler seed.
Change-Id: Ie5c244a7ea418eec0af1f576e8521804ee85a665
CRs-Fixed: 3106348
Currently, host allow maximum 3 concurrent connection.
Change the maximum concurrent connection to 4 to allow
MLO STA + NAN + NDP combination.
Change-Id: I82b8b018488f2f85e4d5431b8b23b1dd90a844b9
CRs-Fixed: 3119918
Check MLO STA + NAN + NDP concurrency support. Allow this
combination only If service cap and mlo sta presents.
Change-Id: I6fd0cae227eb8c4096444160b2450ad65dc51c30
CRs-Fixed: 3120645
MLO roam sync happens first for link vdevs and then for sta vdev.
Update roam_sync-complete data to other modules(if_mgr, osif,
TDLS, P2P, firmware,..) only for sta vdev. Skip the same for all
link vdevs.
Change-Id: Ib01c7cd8d9c0bd0e7b4b48914576410aea6baa5c
CRs-Fixed: 3104553
Currently, roaming is not aborted in failure cases on
the link vdev and it's aborted only on primary vdev.
It results in link vdev not being cleaned up when roaming
fails due to some reason.
Change-Id: I0eb4b1da06a295935ff95be38228a5cacf127a73
CRs-Fixed: 3096648
Host driver creates two vdev as part of initial connection.
If the connected AP supports MLO, both(sta and link) of the vdevs
would be moved to UP state.
Firmware sends roam sync indication to host when it roams to a
new AP. The event carries new AP info and the new AP could be
legacy AP. If the current AP is MLO and new(roamed) AP is non-MLO
AP, move the link vdev state to INIT as it's in UP state.
Change-Id: Idd9638ea446306b0309e5127f08e3dbc1ec9edc2
CRs-Fixed: 3106038
FW can send more than one wmi_roam_sync_frame_event_id before
roam sync event,change done in host code to handle this scenario.
Change-Id: I1ab02ed3e984948b8e57a2f9a2000b9f9493629c
CRs-Fixed: 3116569
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
To support shutdown WLAN when system goes into suspend, add idle shutdown
in cfg80211 suspend function.
Before suspend/shutdown, user space should stop adapter. And after resume,
user space should restart adapter. This can ensure user and kernel space
to sync adapter state.
Idle shutdown must be processed in system active, so schedule delayed
work to execute it. After calling schedule, retrun EAGAIN directly to PM.
Change-Id: I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f
CRs-Fixed: 3081480
Remove Rate limited for logs in policy_mgr_init_sbs_fw_config()
when updating FWconfig bits.
This function is called at the time initialization and will only
be called once when Fw config Bits are updated with SBS
capabilities.
Change-Id: I68c7d76f85f12d220f85a46dca78ad8463bb5576
CRs-Fixed: 3116571
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
NDP peer gets created as part of NDP indication in case of NDP
initiator. But NDP may fail to form due to various reasons and
firmware may send NDP confirm with reject status in such cases
instead of NDP indication event.
Below is the detailed scenario,
1. On initiator side, it has sent an NDP request and is waiting
for NDP response.
2. On responder side, application/framework is preparing to send
NDP response with reject due to some config mismatch. At the
same time, NDP termination is also issued. So NDP termination
frame is sent successfully.
3. Initiator firmware receives this NDP end and it sends an NDP
confirm with REJECT to the host and it shall clean-up the
session.
Currrently, there is a check for the peer existence while
indicating this NDP confirm status to framework. There is no need
of this check in such failure cases as peer is not yet created.
Change-Id: Ibe94a5b67df1ce3d65eaf2ef37b11b08155752c9
CRs-Fixed: 3086975
Check mandatory freq for SAP only if STA is present.
Also allow SAP on a freq which can lead to SBS with STA freq and is
in mandatory freq list, if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
Allow ML SAP (SAP+SAP) on valid channels if gWlanMccToSccSwitchMode
is QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
As QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL is only valid for
STA+SAP case.
So if STA is not present skip the mandatory freq and allow ML SAP
on original freq.
Change-Id: I6e8cbc7f944b2fa99c1449c288b9593cc4ad9454
CRs-Fixed: 3114208