Add logic to send the maximum number of simultaneous links
a STA supports to Firmware via peer assoc. Also, as per the
latest agreement between Host and Firmware, to avoid
backward compatibility issues, Host will set maximum
simultaneous links as 1 for MLSR and 2 for MLMR modes.
CRs-Fixed: 3653440
Change-Id: Id7b32d8651bb49f4a8cb8949d89ad40eb018d818
A recent change caused assoc response parser API to return
if MLO IE is present whereas it should return if it's not
present. This caused Host to not parse further capabilities
such as EML and T2LM. This caused host to falsely indicate
that AP did not set the EMLSR support and reset EMLSR
support bit in peer assoc command.
Fix the MLO IE present check to parse EML caps properly
from the assoc response frame.
CRs-Fixed: 3656047
Change-Id: Ia2a9f6ee3d8cc47c03aa05df62c654a11d5daf53
Driver uses ML-probe response received during connection to
generate partner link probe response generation to add to scan
entry and the same scan entry is used during partner VDEV connect.
If the wireless environment has two different AP MLDs (AP-0, AP1)
with same SSID and each individual link BSSID also are same, then
during connection if STA sends ML-probe request to AP-0 but the
ML-probe response is received from AP-1, then the probe response
generated for partner VDEV will correspond to AP-1 whereas assoc
VDEV will use AP-0 for connection.
As MLD address for both APs are different, during peer create each
VDEV (assoc and partner) will have different MLD address which is
undesirable.
Validate the ML-probe response received for matching MLD address
if VDEV is ML VDEV.
Change-Id: I91c2ffa4927346c2f34a4eb4708ed8aa071ff795
CRs-Fixed: 3645669
Add pineapple_gki_qca6750_defconfig and
pineapple_consolidate_qca6750_defconfig config
files to support bazel compilation for
moselle.
Change-Id: I997c4e8d61dc0afb25f2605cee3cf8da67c09e59
CRs-Fixed: 3657345
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
Currently driver is returning the positive error status for
GET_ML_LINK_STATE which is resulting in invalid behavior in the
userspace.
Convert the qdf_status to proper error status and send the status back
to userspace.
Change-Id: Ie18cd74af333e31a9a487ef03ba859bd4ac841b4
CRs-Fixed: 3649117
hdd_set_mac_chan_width API may be invoked from connection mgr
sm with conn mgr lock. And it will acquire the sme lock when
update the sme config. This lock sequence is invalid and will
cause deadlock. Fix by move the sme config updating in
scheduler thread msg queue callback to avoid holding the
conn mgr lock.
Change-Id: I3e2634c25971e7ddc18c52f82ed118ad43659283
CRs-Fixed: 3649696
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 the hdd station context is cleared post roaming
from 3 link or 2 link to 1 link mlo. Due to this the ipa
ipa event disconnect notification is not sent.
Fix is to remove reset handling post roaming and only reset
the hdd station context during disconnect.
CRs-Fixed: 3639915
Change-Id: I7ea8498789830495deb12fe7490166f30438d524
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
DUT STA triggered roaming after connection. Before ROAM_SYNC event
received, disassoc frame from old AP reported to host, host stopped RSO
and disconnect even DUT has finished the auth/assoc with new AP.
To fix it, during roam started state, drop deauth/disassoc from current
AP.
Change-Id: I12cb3ab7e38ab2931ed5257508eaed83c9d27897
CRs-Fixed: 3654045
Bazel changes to enable MARK_FIRST_WAKEUP_PACKET feature
for kiwi and peach targets.
Change-Id: I5cb594c722012659007ada96341c426086a99a7e
CRs-Fixed: 3655359
In correspondence to change in kernel, add -Wno-array-bounds compilation
flag to bazel file in order to fix compilation on sun target.
Change-Id: I7d019a23818ffed43874c1fb4a37c85edf702e86
CRs-Fixed: 3655099
Update the tx_retries and tx_failed values per link, in case of
MLO connection.
Change-Id: I7b31629183b23fa4899eea3c979421e5c60168f2
CRs-Fixed: 3650548
Kbuild changes to enable the feature to mark the first
packet leading to wow wakeup for kiwi target.
Change-Id: I92da21e9029f2a2c8a89dbca10103b9bc76e3e89
CRs-Fixed: 3654913
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
wlan_objmgr_get_vdev_by_id_from_psoc() may return NULL vdev pointer,
add check to avoid access NULL vdev pointer.
This is to fix reported issue by static analyze.
Change-Id: I5d9619e1d0a04bbb68069dde78859a6570e97aaf
CRs-Fixed: 3654411
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
When LL_LT_SAP is running, MCC lite needs to run in the hal-phy,
since MCC lite does not support cfr capture, do not allow cfr
capture if LL_LT_SAP vdev is present.
Change-Id: I7e9457f4f8c899b3c5a547429eff898bdd602a28
CRs-Fixed: 3653718
When LL_LT_SAP is running, MCC lite needs to run in the hal-phy,
since MCC lite does not support dynamic chainmask update, do not
update chainmask if LL_LT_SAP vdev is present.
Change-Id: Ia7c38fbce88f0a236d96bfc21ae3206e88d0b323
CRs-Fixed: 3653697
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
Since dp vdev will be free from soc->vdev_id_map[i]
in the sme_vdev_delete->cdp_vdev_detach, we should
detach dp vdev from mlo_dev_ctx before that to avoid
access with NULL pointer issue.
Change-Id: If5ab12ae606a09ae95006bb84a75d16b34f68e29
CRs-Fixed: 3654103
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
GET_MAX_BANDWIDTH return incorrect value after set bandwidth
to 20 MHz and roaming, since bonding is disable when set max
bandwidth to 20 MHz.
If we set restore flag as true, bonding mode will update from
INI, and channel bandwidth will update while roam to bandwidth
higher than 20 MHz.
Change-Id: Ic0c65b1d0ab56e5840e03defa839e06321b702b8
CRs-Fixed: 3615778