In case power constraint is not absolute then calculated
local power constraint is not updated as diff of regulatory
power and local power constraint. In case of power constraint
is not absolute the local constraint power is same as advertised
by AP and need to update as diff of regulatory power and LPC
advertised by AP.
Change-Id: Icc410c35c14aa2973789cdb26aa7a45ac1f6a0f3
CRs-Fixed: 3761422
Some targets may prefer to keep SAP on same channel even when the
channel is marked as unsafe due to coex operations.
Check the corresponding device capability and avoid chan switch
when the SAP is fixed channel(non-ACS) SAP.
Change-Id: I8d003359a587c5308899e0956b0414074bd748b0
CRs-Fixed: 3776847
For non-DBS solutions, if STA is present on an indoor channel
with operating bandwidth less than 80 MHz, the sta+sap indoor
concurrency support allows SAP to operate only on that BW.
However, the SAP BW selection logic selects 80 MHz BW for the
concurrent indoor SAP. Since, the SAP operation in 80 MHz
hosts indoor channels as well, the kernel tears down the SAP.
For the indoor STA+SAP concurrency, choose the same BW of
STA for the SAP operation.
Change-Id: I564eebb260ff973d459603029705afbd380f2161
CRs-Fixed: 3756878
Host has to issue RSO_STOP to firmware before performing any
vdev operations(start/stop/down/up,..). Otherwise firmware may
face memory corruptions if it tries to access the same
vdev while host is modifying it.
Currently, RSO_STOP is sent to firmware only if all vdevs are
UP. But in OWE/EAPOL offloaded roaming cases, assoc vdev
would be UP and partner vdev would be down till EAPOL is
done and keys are received from userspace. Connect is started
on partner vdev once the keys are received. Host driver is going
to do a vdev start as part of this connect. So, RSO_STOP is
supposed to be sent to firmware before performing any connect
operations on partner vdev.
So, send RSO_STOP to firmware right after sending
ROAM_SYNC_COMPLETE even if the link vdev is no UP.
Change-Id: Idaa15c7b0cedff5fd6f276626047f349c500a5b8
CRs-Fixed: 3769038
If join ML-probe response doesn't have the per-STA profile for any
of the requesting partner and if the scan entry for that partner
is not found in the scan table, then host should fallback to MLSR
connection.
However, instead of checking the scan entry for the partner links
from the scan table, the driver validates if the partner info is
present in the ml_info of the assoc link scan entry. The assoc link
scan entry would always have the partner info(from RNR IE) even if
the scan entry of that partner is not found.
Directly look up the scan table for every partner link mac.
Change-Id: I896f09a99346459c70ecac8a207dd38b91b58ce2
CRs-Fixed: 3770034
Pointer 'dp_ctx' returned from call to function 'dp_psoc_get_priv'
may be NULL in below APIs:
ucfg_dp_set_hif_handle
ucfg_dp_update_config
ucfg_dp_get_rx_softirq_yield_duration
ucfg_dp_register_rx_mic_error_ind_handler
ucfg_dp_is_roam_after_nud_enabled
Fix is to add NULL check for dp_ctx before use.
Change-Id: I040f1a6ed92ad572e625663eee9ea1dd0c5e8530
CRs-Fixed: 3770367
Host receives "get_tdls_capabilities" request
to get TDLS capabilities from user space.
Host should immediately return fail indication
to user space if memory allocation failed for
skb buffer in
__wlan_hdd_cfg80211_get_tdls_capabilities.
Change-Id: I9e0a14949b55ad811968b718f17022897cd646eb
CRs-Fixed: 3770374
During HB failure disconnection, Host is deleting all connected
TDLS peers only if dph lookup of STA hash entry is success.
In case if host receives add tdls peer from north bound and
HB failure disconnection from south bound, there is a chance
host first delete DPH hash entry before deleting TDLS peer(s).
This leads to TDLS peer leak and assert.
Fix is to make sure to delete all TDLS peers irrespective of
STA hash entry while processing HB failure disconnection.
Change-Id: I6c79eded7d9df511e567f4782189454dbbb14ec1
CRs-Fixed: 3744674
For MLO vdev currently the discovery attempts threshold is
multiplied by 2 to increase the discovery window thereby
increasing the discovery probability in noisy environmental
conditions. But 5 discovery attempts on each link is
sufficient threshold. Increased discovery attempts causes TP
issues with peer connected to different AP for MLO vdev since
frequent link active/inactive change happens.
So remove the discovery attempt multiplier for MLO TDLS vdev.
Enhance few debug logs.
CRs-Fixed: 3702198
Change-Id: If5513987447296140788c1ee021329dc721df65f
Currently vdev_id in mac_ctx->sap.sapCtxList[vdev_id] is check against
WLAN_UMAC_VDEV_ID_MAX(255), but sapCtxList[] array size is
SAP_MAX_NUM_SESSION(5), so change to check against max sap context
array size.
Change-Id: Id8370512194e6585c9e305b2c5a896e6d7bdbe0b
CRs-Fixed: 3671591
Any MLD peer setup call to cdp shall happen only after
clearing the existing MLD peer otherwise the MLD peer's
VDEV reference is lost on recreation. This leads to
VDEV reference leak.
Add history to track the peer setup and destroy sequence,
to understand the CP peer create/destroy sequence when
any such leak happens.
Change-Id: If338bc26e086490a3cc2bb4de32efa6a762ee0e6
CRs-Fixed: 3736548
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