Add new APIs to save number of links to which FW roamed
and add new API to retrieve this saved info.
Change-Id: Idfd8727855bd5da97a3808c78e89a505ef06c249
CRs-Fixed: 3755754
Currently, firmware-reported unsafe channels are ignored
and userspace configured channels are honored when
coex_unsafe_chan_nb_user_prefer ini is set. This is supported for
SAP mode only.
But some platforms may want driver to ignore the firmware-
reported coex channels for P2P-GO also.
Enhance the ini to allow user to configure mode specific
bit as mentioned below,
BIT 0: Don't honor fw coex/unsafe channel info for SAP mode
BIT 1: Don't honor fw coex/unsafe channel info for P2P-GO mode
Change-Id: I91a2c6b2da9aba411d081f6ae3b23d374fe53159
CRs-Fixed: 3766393
In lim_process_addba_req(), the aggregation size is filled based
on the pe_session capability. But in case of TDLS the negotiated
session capability can be higher than the AP capability. So
when we are connected to lower capable AP (ex: 11b/g)and TDLS
happens on higher capability(11ax), then the aggregation size
is also having lower capabiltiy based value. This causes reduced
throughput.
So if peer is a TDLS peer, then don't check the pe_session
capability which is filled based on the connected AP capability.
Change-Id: I4ab6075102cb9495f62d790cd48f1c3b0e51cdc3
CRs-Fixed: 3708986
Currently, Host driver is rejecting force scc on non DBS
solution when QDF_MCC_TO_SCC_WITH_PREFERRED_BAND is set.
This change is to allow STA + SAP concurrency on non DBS solution.
CRs-Fixed: 3716279
Change-Id: Ief73a57d23f627764eca00254acf4cf7e9acd963
Currently if AP is advertising PSD power in TPE IE
host is parsing and storing the PSD power info, but
during TPC calculation it doesn't use AP advertised
PSD power and configures local regulatory PSD power
to FW. This is incorrect if AP advertised PSD power
is lesser than local regulatory TX power.
To address this issue, take min of local regulatory
PSD power and AP advertised PSD power.
Change-Id: I6682f3e3f19ffa65a2bc4593b3d04722fa625999
CRs-Fixed: 3757711
If for any reason EHT capability of peer is not properly
parsed from (re)assoc request but MLO IE is proper, the
creation of peer is happening as MLO without EHT capability.
Also in the assoc response frame, the EHT CAP and EHT OP IEs
are filled based on SAP EHT capability but not considering
the peer's EHT capability. This can lead to memory overflow.
Always determine that peer is EHT capable before checking for
MLO capability.
Change-Id: I46fa97610ed6252d48b9d52721fa307ed01b388f
CRs-Fixed: 3752411
Expectation is on every commit/confirm request
from supplicant, host should start SAE retry
timer and, on every commit/confirm response
from AP, host should stop SAE retry timer.
But currently while processing SAE confirm
confirmation from AP, host fails to stop timer
for roamed VDEV. This results to SAE retry timer
timeout.
Fix is to stop SAE retry timer while processing
SAE confirm confirmation from AP for roamed VDEV.
Change-Id: Idfb8e8d5271b5c1c9f37b06ba3fa178ee69b4130
CRs-Fixed: 3752963
Host update “UL MU-MIMO” bit as HE cap in assoc request
based on below 2 things:
1. "enable_ul_mimo" INI
2. FW capability WMI_HECAP_PHY_ULMUMIMOOFDMA_GET
Fix is to overwrite he_cap->ul_mu feature in assoc request
configured via above FW capability with value of ini
"enable_ul_mimo".
Change-Id: I6ede13ec107a194f11a094ccd954155e859c02ec
CRs-Fixed: 3750038
Currently TDLS module acquires WIFI_POWER_EVENT_WAKELOCK_TDLS
wakelock and prevents run time suspend when TDLS is enabled for
a peer. While releasing the wakelock and allowing suspend, it
checks for the connected peer count in tdls_update_pmo_status().
But the peer count is not decremented here yet.
Below is the current call sequence:
tdls_disable_offchan_and_teardown_links()
-> 1. Call tdls_reset_peer() -> this calls
tdls_set_peer_link_status() ->
tdls_update_pmo_status()
-> 2. tdls_decrement_peer_count() - Sets the
connected peer count to 0
Update the sequence as below:
call tdls_decrement_peer_count() first and then call
tdls_reset_peer().
CRs-Fixed: 3735021
Change-Id: Idf91a0c96c9660df466143f8ac115f694b3070d2
Whenever the driver link state command is issued the system
could be in or entering the RTPM suspend/resume, The current timeout
of driver link state command is only 800msec which could not be enough
for the RTPM suspend/resume sequence to complete.
Increase the link state command timeout value to account for RTPM
suspend/resume sequence.
Change-Id: Ieced72ae330e9820c6ba1f4fb874d4b600c18656
CRs-Fixed: 3730449
HW is non-DBS. SAP is UP in 6 GHz. Now, when a STA connection is
attempted, the pcl for the second connection would have SAP SCC
channel with highest priority, all the 5 GHz channels with 2nd
highest priority and the 6 GHz channels with least priority.
Therefore, even if there is a strong 6 GHz candidate for STA, the
5 GHz candidate would be chosen and the SAP moves to SCC in 5 GHz.
To fix this, ignore the pcl scoring for the non-DBS concurrency
cases as the SAP can move to the channel of the best STA interface.
If the SAP is in legacy band, and if still a 6 GHz STA is chosen,
then the legacy SAP would be torn down. So, give STA the best
possible in non-DBS case.
Change-Id: If268b61c61e77db96b499437cdbc95188240fba8
CRs-Fixed: 3749399
Currently STA+Mon mode is not supported in LPC case
as both mode uses monitor interface to capture
packets. So to distinguish between two different
monitor modes export new API to store monitor interface flags
Change-Id: I463353a1a01f53d48e004f60c52c24f1d8084154
CRs-Fixed: 3739289
Currently STA+Mon mode is not supported in LPC case
as both mode uses monitor interface to capture
packets. So to distinguish between two different
monitor modes.
Add changes to distinguish between two different
monitor mode based upon monitor flags bit.
Change-Id: If916b777fb0c3247c3dd2b8561001d1e2a59a4e6
CRs-Fixed: 3739285
As per new requirement, If DUT associates with an AP does
not support BTM then when host receives BTM req frame
from FW. Instead of forwarding the BTM req frame to
supplicant, host should drop it.
Change-Id: Ie6b6c27c01b072fac19dc039327cb9a86370b535
CRs-Fixed: 3746758
Peer mac is filled from struct wlan_cm_vdev_discon_req, which
can be 0 or previous AP in case of roaming.
While handling disconnect the bssid and peer mac needs to be copied
from pe session for STA mode to avoid this mismatch and thus
disconnect failure.
Peer mac updating from pe session was missed, so to fix the issue
populate the peer mac from pe session.
Change-Id: If0598791887fb6fe46fe6ea238320876f6f57fa9
CRs-Fixed: 3708294
In wlan_mlo_parse_t2lm_info, there are no length checks on
the various optional TID-to-link mapping IE elements which
can lead to out-of-bound reads.
This change is to prevent out of bond reads by checking
the length of t2lm_ie->elem_len.
CRs-Fixed: 3704762
Change-Id: Ia31153882a670ea909fc3cac1f5a2e2252fa76ee
For Dual SAP(legacy SAP + 6 GHz SAP), WFA HE-4.1.1 cert
case requires the following:
a) If Dual SAP is enabled, the 6 GHz SSID should be
discovered via the RNR IE of the colocated legacy SAP.
b) If a co-located neighbor is present, the 6 GHz SAP
should not send FD or unsolicited probe responses.
Add support for the above the cert case by configuring the
FD support for the 6 GHz SAP based on the operation of the
co-located SAP.
Change-Id: I045911cd34bceccdb08248ae7b99beb8454a2c98
CRs-Fixed: 3732649
Currently default link update is only done in link switch
or dynamic mac address update case.
There is other scenario also where default link case become
inactive and update to DP will not happen.
So, to handle those scenarios, expert new API to update
DP default link.
CRs-Fixed: 3733584
Change-Id: Iab24c38c454cc5cb9f568de680531b38e4d3da45
If connected AP has bad TPE IE, max tx power count is out of range,
OOB will happen.
To fix it, check max tx power count per spec to avoid OOB, also consider
current bandwidth.
Change-Id: I96789dc9226680128d49dfe35d7a8b7499d30ea5
CRs-Fixed: 3725413
Currently when suspend sequence is going on and WOW handshake with
F.W is completed, then we check for wow initial wakeup flag if it
is not set then we proceed for suspend. But if this wow initial
wake flag is set just after it being checked in suspend sequence
then we miss honoring the wake message and host will be stuck in
suspend state.
So to avoid this make sure we are requesting resume from wow initial
wakeup setting context. So that resume request is posted properly.
Change-Id: Idd082ef82a4d7dbd62d7762f10debe1db9baed88
CRs-Fixed: 3743425
User/wpa_supplicant disable roaming flag is only effective for current
connection, it will be cleared during new connection.
APP/wpa_supplicant can uses QCA_NL80211_VENDOR_SUBCMD_ROAMING to change
roaming behavior for current connection.
Change-Id: If9f439f51e25e3d67f5db5557c0d8f468b071596
CRs-Fixed: 3737996
Host sends WMI_VDEV_SET_IE_CMDID to FW to enable
disable BTM ext cap after association.
If host receives disable btm request from userspace,
host should disable BTM flag in EXT caps IE. FW uses
same ext cap in re-association request.
Change-Id: Id85a4328e41742e4eb6c7f5fe3d5a9267c248c75
CRs-Fixed: 3747320
On receiving QCA_WLAN_VENDOR_ATTR_CONFIG_BTM_SUPPORT vendor
command, do below action in host:
1. Disable btm_offload_config in FW via RSO command.
2. If btm_offload_config disabled in FW at step #1,
FW forwards BTM frame to Host, Host needs to drop frame.
3. Disable btm ext capability (p_ext_cap->bss_transition)
bit in assoc request and unicast probe request to AP.
4. On disconnection, restore BTM configuration.
Change-Id: I228bafe243c43bc055f19d472c2f2d986225f577
CRs-Fixed: 3742276
Add support to process newly added vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_BTM_SUPPORT.
User space use this vendor command to disable/enable
BTM roaming for STA interface.
If host receives this vendor command in connected
state, host should return failure to user space.
Change-Id: Iafadc2fab2ee30a0eb2e8e7ebb7178c1d36fe1c9
CRs-Fixed: 3715920