After 3-link association is complete, Host sends force
inactive num command between 5 GHz and 6 GHz links to
firmware. Later, if user wants to force enable 1 or 2
links, the current checks prevent it from taking effect
as a previous force active num is in place and a NO
FORCE command cannot be sent as it is a DBS RD.
So add new API in policy manager to check if the new
force active num command is valid and process accordingly.
All new force active num commands except for 5 GHz +
6 GHz links should be allowed while honoring the prior
force inactive bitmap as well.
CRs-Fixed: 3656412
Change-Id: Iecfca57d9b47acd31d191cca2632a6d1baf62174
Currently, host driver sends only 2 port interface combinations to
userspace based for non-DBS targets. But 1x1 DBS also does not
support 3 port concurrencies.
So, to fix this, disable the 3 port concurrencies for
1X1 DBS target also.
Change-Id: Ia70937a7875d11d3f852ca498c4f7d9415a6783b
CRs-Fixed: 3654683
Calculate valid number of roam scan channel count in case of
idle roam scan of type ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ
or ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ and send same
to upper layer via SCAN_DONE logging event.
Change-Id: If59c732c7efad78ef6e4b6b0ada48054f1d0252c
CRs-Fixed: 3652329
Check for NULL before accessing dp_ctx or DP SOC in
__dp_bus_bw_compute_timer_stop().
Change-Id: I0d2862c4688f83c3d5f561baaa6ce62e96cca9c3
CRs-Fixed: 3659080
Currently LL_LT_SAP does not support 4th port concurrency,
add a check in policy manager to reject 4th port concurrency
if LL_LT_SAP is present.
Change-Id: I57ed78c937935396f9001b867652cb7ee146c487
CRs-Fixed: 3658476
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, and to indicate the status of the bearer
switch to fw, add WMI interface changes.
Change-Id: I236e2d9a954191c104d56d286332ace644190e6e
CRs-Fixed: 3653962
Add support for INI update_cw_allowed to enable or
disable update channel width via vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH
Change-Id: I1f4ab2c7ca8dacb93442803336d59a4a5ffb1b47
CRs-Fixed: 3659655
Currently, SAP bw gets downgraded(from 320 MHz to 160 MHz) when
link connect starts on a channel which causes DBS/SBS.
But SAP is not aware of the link that can cause DBS/SBS if it is
inactive as corresponding entry is not present in driver policy
mgr table. When link switch is triggered to a channel which
causes SMM to DBS/SBS hw_mode, SAP bw update algo gets triggered
as there is a new connect which causes split-phy mode. SAP bw
update algorithm need not be triggered upon link switch start and
can be triggered post link switch to avoid interrupting link
switch.
Currently, it doesn't differentiate between user connect request
and link switch connect request. Add a check and avoid SAP bw
update trigger link switch cases. Evaluate the links posts
connection and trigger bw update if needed.
Change-Id: I90f836c04d096dffb5b82c53166b18d2ba27a584
CRs-Fixed: 3649268
In hidden SSID case, some IOT AP does not respond to the
unicast join probe requests and this leads to continuous
connection failures. The same AP however responds to broadcast
probe requests. The host announces join success only if the
probe response is received for the hidden SSID connection.
To fix this, after sending 3 unicast join probe requests, send
the pending probe requests as broadcast to proceed with to get
a probe response.
Change-Id: I686cbabd3b1b3d355829bc682de5d631b1738d86
CRs-Fixed: 3647028
Driver sends STA_INFO event with self mac addresses for each link
before initial connection. With the new requirement to send the
STA_INFO after every roam to detect the change in mac address, add
the sta info call after reassoc response is received and roaming
status is successful.
CRs-Fixed: 3653662
Change-Id: I18ecbdfea47fb3524154f799ea0c4777276cb34a
Currently, roaming gets disabled on STA when CSA is triggered
on concurrent SAP/P2P-GO and re-enabled once CSA is completed.
But SAP/P2P-GO might get stopped before CSA is completed.
Roaming is not re-enabled in such cases.
Try to re-enable roaming with reason RSO_SAP_CHANNEL_CHANGE once
SAP/P2P-GO stop is completed. Roaming gets enabled only if it's
disabled due to RSO_SAP_CHANNEL_CHANGE.
Change-Id: I57b192beda55673dbf80bed4eadbac70653d2cd1
CRs-Fixed: 3661380
If connected in open mode, supplicant will not sent any
crypto keys so during link switch driver will not find any keys.
Currently driver panics if there isn't any key installed during
link switch but this is not applicable if the auth mode is open.
Don't check for keys to install if the current auth mode is open.
Change-Id: I6e0ed587f3e1e214eb6f65556de9aab4c09507dc
CRs-Fixed: 3651819
As per new requirement, add INI parameter to enable/disable NAN
EHT capability.
Host driver checks this INI value to decide whether it need to
send EHT IE capabilities for NAN and NDI VDEV or not.
Change-Id: I056c174cbc9a7ed2cf6318e43ed431e6c6e5ed30
CRs-Fixed: 3657226
Add separate APIs to validate SAP, P2PGO or LL_LT_SAP
channels according to LL_LT_SAP concurrency.
Change-Id: I180796df6b312f9bbb0a8e61085ca1517cd687b5
CRs-Fixed: 3647561
Currently wlan_reg_decide_6g_ap_pwr_type is
getting invoked from south bound and north bound
callback path, because of this pdev channel
is computed unnecessarily two times and
the AP power type obtained is not used in
reg_populate_secondary_cur_chan_list.
To address these issues, set AP power type
while propagating master channel list to pdev and
use this power type value to populate secondary
channel list.
CRs-Fixed: 3609366
Change-Id: I5bdc69d42cd09c0d875b8fb55d14f6ee10a175b2
Host clears existing connection info in MLO mgr and fills
roamed AP info in the same order received in roam_sync.
This overrides the existing VDEV order only in MLO manager but
it can be in different order in HDD.
During link switch MAC addr update, HDD first updates the VDEV
to the new link addr and later updates MLO manager and this
changes the order in MLO mgr, this can lead to having misaligned
link-VDEV mapping.
As FW is expected to derive same link addr as what host derives
and uses the same during connection with roamed AP, so use link
addr from roam sync params as a key to search MLO manager to
update the new roamed AP info. This will not alter the VDEV order
in MLO manager and will align with HDD order.
Change-Id: Ib1048f90a7e1b64c4135da2474579cffb669a49d
CRs-Fixed: 3655528
As per requirement send ROAM or NO ROAM connectivity
log event to upper layer based on below conditions:
Print ROAM If,
1.FW sends res->status == 0 on successful roaming to AP
2.FW sends res->status == 1 if FW triggered roaming but
failed due to reason other than below reason
Print NO_ROAM for below reasons where either candidate
AP is not found or we roamed to current AP itself
irrespective of the res->status value:
1.ROAM_FAIL_REASON_NO_AP_FOUND
2.ROAM_FAIL_REASON_NO_CAND_AP_FOUND
3.ROAM_FAIL_REASON_NO_AP_FOUND_AND_FINAL_BMISS_SENT
4.ROAM_FAIL_REASON_NO_CAND_AP_FOUND_AND_FINAL_BMISS_SENT
5.ROAM_FAIL_REASON_CURR_AP_STILL_OK
Change-Id: Ia2e07dcdacb78a22af9ae6b66c18c2c716161bf3
CRs-Fixed: 3653702
Update the diag interface files with minor fixes to include
qdf_packed attribute for missing structure and fix the enum
wlan_roam_failure_reason_code ordering to be in sync with WMI
Change-Id: I3b4f6296e7d80c9d27e4f66dd2092c0110aaa766
CRs-Fixed: 3659386
Reset tdls_vdev->ct_peer_table connection tracker table
when enable implicit tdls triggering. There may be
some old tracker existing in the table. The stale data
can't be used in new tracing period.
Change-Id: I36c0c525c98eac4d1e6beed3a9006e717aee0d91
CRs-Fixed: 3653707
After direct link WFDS QMI server is down, host driver
unmaps the IPCC MSI address. There is a possibility
where FW can still enqueue entries to direct link CE
resulting in a SMMU fault when CE HW raises interrupt
after copy operation.
Fix is to disable direct link CEs MSI on WFDS QMI
server down indication prior to unmapping the MSI
address.
CRs-Fixed: 3657146
Change-Id: I38ce3bcc143743884d5c464eae74c390bf32eab6
While parsing the roam synch indication event from the firmware,
the RSSI is copied into a uint8_t variable. But RSSI is negative
value. So change the data type of roam_synch_ind->rssi as signed
int8_t type.
Firmware sends absolute value as RSSI so convert it into a negative
value before assigning to the destination buffer.
Change-Id: Ibec6ee8bfefc612be1600a0820ff061a247460ad
CRs-Fixed: 3641086
Return status of the wlan_mlme_get_sta_ch_width is always
returning error resulting in caller not updating with
the phymode correct the vdev object.
When the kernel is querying phymode via cfg80211_get_channel driver is
returning invalid bandwidth post roam resulting in kernel warning.
Fix this by returning proper status in wlan_mlme_get_sta_ch_width
CRs-Fixed: 3641158
Change-Id: I013f75a3e06768127ffc72776eef6885633e927a
Currently the ini "enable_responder_11az_support" is a boolean
value and applicable for enabling all the RSTA operations- 11az
TB and NTB ranging. Change the usage of existing ini
"enable_responder_11az_support" into a bitmap as below:
BIT 0 - 11az NTB
BIT 1 - 11az TB
Change-Id: I744e614eae4d89d9ff5d0e86398c0c94c8160d77
CRs-Fixed: 3651115
If "override_ht20_40_24g" ini is set, the host driver disables
the HT40/HE40 caps for 2.4 GHz after connection via SET IE. The
firmware uses this for roam. However, if reassoc comes from userspace
with the HT40 cap different from the initial connect, then host
does not update the IEs based on new cap. This leads to mismatch
between user configuration and firmware roam.
To fix this, modify and send the HE40/HT40 caps via SET IE for
every connect request. Reset it after disconnection to the default
self cap.
Change-Id: I58e14e8ae8e8842e1d79a0284c4240ac7d279272
CRs-Fixed: 3651600
If LL_LT_SAP start is in progress and at the same time if any
concurrent interface comes up in SCC with LL_LT_SAP, then add
changes to check presence of concurrent interface once LL_LT_SAP
start completes.
Change-Id: Ia8b72549ac98a7e60a1b55e4f7120b24596088c4
CRs-Fixed: 3647186
LL_LT_SAP and SAP can not be present on same MAC, if SAP is
present on 5 GHz for DBS RDs and if LL_LT_SAP tries to come
up, then move LL_LT_SAP to 2.4 GHz frequency so that LL_LT_SAP
can come up on 5 GHz.
This change handles this scenario and move the SAP to 2.4 GHz
frequency when host driver receives acs request for LL_LT_SAP,
when LL_LT_SAP start completes.
When LL_LT_SAP goes down, host driver restores the original
user configured channel.
Change-Id: Ia4ed29d86a595321ee8be57420cc6a03c84f190b
CRs-Fixed: 3647076
For LL_LT_SAP, give preference to 5 GHz low frequency to select
channel during ACS.
In case of SBS, it's better to bring up LL_LT_SAP on 5 GHz low
as there will be less number of passive channels on 5 GHz low
band compared to 5 GHz high band.
Change-Id: I1d7f7c08c315394315df3b360c9c632d17a4b39a
CRs-Fixed: 3648218
For event EVENT_WLAN_MLO_LINK_STATUS, the Fw send the
fw_timestamp value in milliseconds for MLO link
switch connectivity log. However, the userspace
expects the fw_timestamp value in microseconds.
For connecting fail connectivity logging, connecting
fail reason code mismatch is observed between host
and userspace.
Modify the api wlan_connectivity_mld_link_status_event()
to send the fw_timestamp value in microseconds instead
on milliseconds.
Introduce wlan_diag_connect_fail_reason enum to
facilitate proper conversion of connect fail reason
code between host and userspace.
Change-Id: I92b4f294c0e4bc68c809fbf7d01ab950eca83ac9
CRs-Fixed: 3637399
In the api wlan_convert_bitmap_to_band(), the bitmap
to band conversion algorithm evaluate 1st bit in the
bitmap as 2.4 GHz link instead of 0th bit.
Modify the bitmap to band conversion algorithm to
evaluate 0th bit for 2.4 GHz band instead of 1st
bit of the band bitmap received from FW.
CRs-Fixed: 3648693
Change-Id: I626d80991461c8757178116303f92f55be91db29
In api cm_roam_mgmt_frame_event(), Band info fetched from
roam_frame_info tlv is overwritten with the band info
value of previous connected AP present in mlo_dev_ctx before
roaming resulting in incorrect data for the reassoc
connectivity logging.
Modify cm_roam_mgmt_frame_event() to populate the band info
received from roam_frmae_info_tlv to reflect current AP
band info.
Change-Id: I219d4803b856beb1d64e9c35da374071f09b1aea
CRs-Fixed: 3640898
Currently, userspace sends
"QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION" vendor command
for power configuration. With this vendor command, driver receives
the PS parameters which it sends it to the target. Usually,
inactivity timeout is 200ms, but in some scenario, if driver send
the inactivity timeout as zero, then it causes crash in target as
target expects non-zero value.
Scenarios:
1. Userspace updates inactivity timeout to zero.
2. For OPM mode as disable(0) or enable(1), driver updates the PS
params to zero. So, inactivity timeout is zero.
So, to fix this, return invalid if userspace send ITO value as zero
and update vdev PS params for OPM mode as user defined(2).
Change-Id: I120829f12ed350ad7ad0bfb983ad49087dea4fc8
CRs-Fixed: 3653524
Currently, add_rtap_ext flag which is used to update the tx_flags in
radiotap header is set for both TX and RX data/mgmt packets which
is wrong.
This change fixes the code to not set the add_rtap_ext flag for RX data
and management packets so that tx_flags is not filled in radiotap header
of RX data and management packets.
Change-Id: I9c5a28c9bd47c2567af5ddb3e8e9c95463fe710f
CRs-Fixed: 3639248
LL_LT_SAP does not support SCC, so to avoid this, reject initial
STA connection and CSA on LL_LT_SAP frequency if STA receives CSA
on LL_LT_SAP frequency.
Change-Id: Iaa4546bbbc242aa8fc9580d1a8a2728b197457d0
CRs-Fixed: 3654643
When SCC_MCC switch mode is configured as:
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL, then when
concurrent STA is disconnected, don't move SAP to user
configured frequency even if the SAP is currently on
different band as the user configured frequency band.
Change-Id: I287fdf51bba2ca98bf6048694c03fafc114340da
CRs-Fixed: 3645514
Add new dot11mode in MLME and update the utility functions to
derive the dot11mode based on the INI config and AP dot11 mode.
Change-Id: Ic53ab0cdd94dce75d6928270bc8bf4f8539ac96f
CRs-Fixed: 3653767
Currently host driver does not update the state of the bearer
switch state machine when userspace changes the bearer, which
results in out of sync state of the bearer currently in use.
To address above issue, update the state of the bearer switch
state machine if user space changes the bearer.
Change-Id: Id71cfdf320a11665707a367b13ea932155af0413
CRs-Fixed: 3649793
With this change - I9f8b4186753ec9d446399be9e1cfc03a63a17391
code to fill flexible TWT feature info in twt_feature_set
was removed, as a result host fails to update flexible TWT
feature to fw as part of feature set query.
To address this issue, bring back the code to fill
flexible TWT feature info in to twt_feature_set.
Change-Id: Ia669992c92a02a909d5b64925b903bdef7fc1baa
CRs-Fixed: 3594895
To trigger wide band scan in case of 320 MHz initial connection,
Host should use value of cen320_freq at the time of initial
connection.
Fix is to use value of cen320_freq present in struct
mlme_priv->connect_info.assoc_chan_info.cen320_freq.
Change-Id: Ia6b823e88d50a33259621a0cd564ae9fa06ced13
CRs-Fixed: 3651649
If ICMP is a fragment frame, the first fragment is routed to FW.
Other parts are routed to HW directly. This will lead fragment
out of order and some Network stack can't reassemble it. This
change is aimed to keep the ICMP notify FW logic, but route
the last fragment to FW, then the order can be kept.
CRs-Fixed: 3641824
Change-Id: If3e83943126a974d79f18824ff66b209cc4edd39
Fix API to check if freq will lead to SBS/DBS, also use
vdev id to avoid the decision making using the self vdev during
vdev restart.
Change-Id: I4c6920883031a8e926b224841cfea710b6d82da7
CRs-Fixed: 3653755
Use default link info is incorrect for mlo link.
Fetch link info by link id and update the bss rate flag.
Change-Id: I72a6747308b9873e18ea2bcb1b95cb915e668970
CRs-Fixed: 3643925
Add cfg to disable puncture in US LPI mode per FCC requirement,
set to false by default.
Change-Id: Id01f952b2a74ad64216a66d2d292166211440c4b
CRs-Fixed: 3649640
To avoid race between CSA and set BW, check if BW upgrade is
still required after set bandwidth command become active.
If any connection is in progress, restart the timer again.
Change-Id: I049dbcbc1d30fba8f38250b05f5f62e8c230234c
CRs-Fixed: 3652085
Currently, assoc response is cached when initial connection
happens on assoc link and same is used to initiate connect
on other links. Similarly, reassoc rsp is cached in case of
OWE roaming to continue connect on other links post EAPOL
handshake.
When DUT roams to 3-link AP and if link switch happens
post roaming, link switch always picks the cached assoc rsp as
it's available. But link-switch after roaming is supposed to
pick reassoc response.
Free the cached assoc response to avoid picking it post
roaming.
Change-Id: I0f316dc9259c597012e18e7c7af5e454df6651d1
CRs-Fixed: 3646555
Driver tries next candidate during connection if current
candidate fails in the join procedure. For each candidate
the number of partner links for that candidate is updated in
connect req params, but this won't update if the candidate
is not ML capable or is SLO.
If the previous candidate is MLO (MLMR or MLSR) which failed
in join and if the next candidate is SLO then the number of
partner links is not updated and will be non-zero for SLO
candidate which is invalid. This leads to going for partner
VDEV connect but with different MLD address than assoc VDEV
which is undesirable.
Always update the number of partner links on each candidate.
Change-Id: Id8147572706ee6a3055e68672aad04eaed4cf43a
CRs-Fixed: 3648252
Based on new requirement update policy manager PCL tables for
below LL_LT_SAP concurrencies:
1. LL_LT_SAP + STA + SAP
2. LL_LT_SAP + SAP + SAP
3. LL_LT_SAP + STA + P2P GO
4. LL_LT_SAP + P2P GO + SAP
5. LL_LT_SAP + P2P GO + P2P GO
6. LL_LT_SAP + STA + P2P CLIENT
7. LL_LT_SAP + P2P GO + P2P CLIENT
8. LL_LT_SAP + STA + STA
9. LL_LT_SAP + P2P_CLIENT + SAP
Change-Id: I8a01b88fc89dc18d1740ccf5fe0f8751e2980535
CRs-Fixed: 3647137