Currently, OWE assoc link scan entry is cached post roam success
but link scan entry is not cached. This causes join failure while
non-assoc link tries to get connected post assoc link roam.
So, cache scan entries of all links while processing first link
itself to avoid these failures.
This also fixes adding scan entry properly for non-MLO OWE
cases as well.
Change-Id: I3188f98f2682acceaae28f226e6c8abe0c81fff9
CRs-Fixed: 3437632
Check pointer adapter returned from function which maybe NULL,
and explicitly dereferenced error.
Change-Id: Iaaf4bdfb145a146452a5925ac39483e32ed8955e
CRs-Fixed: 3454288
Firmware do not send WMI_PEER_STATE_CHANGE_EVENTID when WMI_PEER_AUTHORIZE
peer param is sent from host on peer. Host waits for this event from
firmware for 10ms and then times out. This leads to unnecessary delay of
atleast 10ms in enabling the TX queues every time after connection and
roaming.
So this change cleans up the existing handling of WMI_PEER_STATE_EVENTID
and removes wait for sta_authorised_event. This will improve the latency
in enabling the queues from host.
Change-Id: Iaf54d8298dab3cd47ad4779ec9ee11dc8f0bad0d
CRs-Fixed: 3436763
Currently, when ML probe response is received in non-assoc link
channel, right link_id is not passed to the link_probe rsp
generation API as it loops through all available per STA profiles.
It fails when probe rsp received link id is given as corresponding
per STA profile is not present in the probe rsp.
Skip calling the ML probe rsp generation API for
the link id on which it's received.
Change-Id: Ib636c6d5909b7f2760c7e57ec4f14f8ed060a910
CRs-Fixed: 3428521
The rate table is lacking in rates info of mcs=10/11 in VHT
mode. This leads to failing to match a rate with rateflags
from FW sometimes. To address this issue, this change fills
out this rate table when mcs=10/11 in VHT mode.
Change-Id: I6f63339bed2f9d53838f02177c63bc128856a991
CRs-Fixed: 3448862
Add new api for tdls mld feature:
ucfg_tdls_get_mlo_vdev
ucfg_tdls_release_mlo_vdev
ucfg_tdls_discovery_on_going
Change-Id: I874fd5ef1af94a9e576ba6738a12b7e2af891537
CRs-Fixed: 3439345
Currently cck and ofdm flags are filled wrongly for monitor
mode data packets based on preamble and wireshark deriving
incorrect phy type for 11G & 11B.
This change is to update cck and ofdm flags based on packet
type.
Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e144
CRs-Fixed: 3447567
Currently, For legacy modes monitor mode reporting incorrect tx rate
for data packet in radiotap header due to packetcapture_hdr rate
is hardcoded as '0'.
This change calculates the data rate of legacy packets using mcs
reported in tx completion.
Change-Id: I2a651b8fb36947672bd30f8a635f0e643219e520
CRs-Fixed: 3442376
Currently monitor mode HT & VHT data packet tx rate is not
matching with ota packet tx rate due to incorrect mcs value.
This change is to update proper mcs value for HT & VHT modes.
Change-Id: Ib4fb06a06ce35a4e8e683e5a22c8be226492b13f
CRs-Fixed: 3442509
In SAP+STA scenario, if SBS mode support, should check if meet SBS
condition before check MCC/DFS constrain.
Change-Id: Id20145dfffabc6e649d0511db8eeab27595e16d1
CRs-Fixed: 3447053
Reduce the log level of logging from warn to debug which occurs
during roaming.
Change-Id: I623ce4f6ba9fa4a54e3b06c6833f4630f49d7f44
CRs-Fixed: 3449210
Channel boundary which overlap all unsafe channel list will
be treated as unsafe channel, SAP can't setup on this channel.
Change-Id: Id8ab89da3ca3af1c86007e31fd79b8737e5cd4e5
CRs-Fixed: 3424013
Currently in peer_ll_stats, host queries vdev_id based on the
peer mac address sent by firmware. In error case, host returns
error code and fails to free the allocated memory causing memory leak.
Fix this issue by refactoring the error case.
Change-Id: I4097b6d7920f4a5f3f9fa39ad2892f8428bab5d7
CRs-Fixed: 3450421
Add MLO link identifier and EHT cap to tdls discovery request,
discovery response, setup request and setup response.
Pack Multi-Link IE for TDLS mgmt frames.
Change-Id: I6a1c23087a0b7caddd840e13ed1b85b51f2da324
CRs-Fixed: 3436047
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.
Change-Id: I19959e097c5709d63fbd941583b934e291c3af1c
CRs-Fixed: 3371396
If roaming to Multi-link AP but get auth status 1 (connected) from FW,
driver will make it as single link roaming. The link vdev roam
sync will be skipped. The wma_roam_update_vdev API doesn't
check such condition and lost the peer deletion of the old AP.
Fix by check single link roaming with API mlo_get_single_link_ml_roaming
to consider such condition.
Change-Id: Ia69333e8249c4a868554f8fd9a99340fde9257b0
CRs-Fixed: 3448269
To fix the code segments which are less reader friendly.
The changes are identified from single netdev changes
in Ia1f01865277c3e08254f44a39ba6675a9fea6c65
Change-Id: I3d09fb5d9f578514b00c9c9045acf7bd7e208140
CRs-Fixed: 3445321
Existing check for 4 vif concurrency in policy_mgr_allow_4th_new_freq
is insufficient to handle the case: ML STA on 2412 MHz and
5805 MHz, GO on 5180 MHz, SAP on 5805 MHz. Then user trigger
SAP CSA to 5240 MHz. Driver should reject the CSA because
DBS or SBS both can't meet the requirement that 3 VIFs MCC is not
supported in same mac.
Fix by loop all the hw mode to check vif channel and mode
combination are supported or not. If no one support the combination,
reject the 4th connection.
Change-Id: I67709395f7734d1f636a1410ac112a837cb66e79
CRs-Fixed: 3446747
Since we fill roam information into a ring buffer, when ready to
write a buffer, we need clear the dirty data first.
Change-Id: I94dac785803f15451df816c303f8a594ee688ff7
CRs-Fixed: 3437152
When roam from legacy to MLO, new pe session is created for partner link,
pe session is filled with sync_ind->bssid wrongly, which is assoc link
bssid.
To fix it, don't fill bssid for pe session in lim_cm_fill_link_session,
correct bssid is filled already in pe_create_session.
Change-Id: I76741eca948798d1e53b3cae2131fc91aa596136
CRs-Fixed: 3451277
Currently, link mac addr is fetched for initial connection from
MLO IE present in assoc response. But it's still trying to fetch
the mac addr from reassoc rsp and failing as it's not present.
Then it tries to check if bss peer is created for the link to
use it to store the keys in crypto with that mac address.
This also fails if link connect has just started and got keys
from userspace before link connect reaches bss creation state.
There is no issue if bss peer for the link is already created.
Once mac address is read from assoc rsp, don't read again from
reassoc to avoid this failure.
Change-Id: I8e1ba0c9290e73ae808d5ff411b4d6d0a338ced3
CRs-Fixed: 3437611
1. Permit to add monitor iface even wlan0 down per customer requirement.
2. Don't need check sta adapter number when add monitor iface, monitor
iface doesn't depend on sta adapter number, sta adapter num is different
for mlo/non-mlo, dual sta/single sta.
Change-Id: I83494ba504288ee21abb2c5d287713fe86f8efe9
CRs-Fixed: 3447188
In roam invoke scenarios, if FW fails to roam
it will send roam invoke failure.
Until roam invoke failure is received FW is trying
to roam.
Currently if FW aborts roam, host will trigger
disconnect and rso stop is sent due to this FW
is unable to retry roaming.
Fix is to not trigger disconnect at roam abort
and wait until FW sends roam invoke failure.
To handle this store roam invoke params in rso cfg.
Change-Id: I32eeda70ef9f4d8a049fec53053f9e0c6eb36e51
CRs-Fixed: 3433320
Immediate power save is not set for the partner link of multi link.
Set power save value for the all the partner link vdev's.
Change-Id: I9a7c841632d597caa44585026f876f34a53c8bcb
CRs-Fixed: 3447544
Wrong MLO common IE and length is sent to F/W, so roaming reassoc req
has wrong MLO IE too.
Change-Id: I86bc0868d158b53d89dd94e0c449c6e9efad781e
CRs-Fixed: 3436594
Allow suspend only when bss color change countdown is zero, otherwise
wlan driver will enter into suspend while bss color change is in
progress and it will lead to delay in bss color change.
Change-Id: Ia14b49e34191ec56cb853d68e16be61c585cf25a
CRs-Fixed: 3444353
The assumption of link info sub-element offset
starting after link_id in common info sub-element
is wrong. There are other non mandatory fields
in common info sub-element.
The actual offset of link info sub-element
starts after the length of common info length.
Change-Id: I23bb7b148a672d0a45b0e32932f4a15a7e584b72
CRs-Fixed: 3443099
Enable the short GI support for 160 and 80+80 MHz only
if 160/80+80 MHz self cap is enabled for the STA DUT.
Change-Id: I4b9de06fe5b0cc8aecb35207fa1d117bfc23ed30
CRs-Fixed: 3416932