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
Stub exist for functions that does not exist. Was introduced as
typo that was fixed. Remove the stub.
Change-Id: I59797783ddec41f2afc08bae49191c13500b02fa
CRs-Fixed: 3441916
Rename session_id with vdev_id in
policy_mgr_check_for_session_conc() to avoid confusion.
Change-Id: I9449395043f3f8d4e632f38770405febb1e227ab
CRs-Fixed: 3439906
Current code does not include hang event data to ssr driver dump.
Fix this by adding struct registration/unregistration.
Change-Id: I6c21cbf7b2d0a242e1469b32820373a61235ac7a
CRs-Fixed: 3443220
Current code doesn't have hif_ce_desc_history in ssr driver dump.
Fix this by adding the two data structs: hif_ce_desc_history_buff
and hif_ce_desc_history to the ssr driver dump regions.
Change-Id: I4b73dfe8909bd4f75cdf8c172c590c0aff3b1d1c
CRs-Fixed: 3443225
Hostapd sends RSNIE with around 18AKMs. However, the driver
data structures allow storage upto 6 AKMs only. Therefore,
the dot11f unpack modules returns BAD IE. The akm suite
however carries the parsed count of 18.
The HDD caller checks only DOT11F_FAILED, which doesn't cover
many of the DOT11F_xx failure status codes. Therefore, instead
of failing BSS, the IE is processed further and access of 18
contiguous AKMs takes place leading to OOB read crash.
To fix this, check for all the failure status code and stop
the BSS upon RSN/WPA/WAPI IE parse failure.
Change-Id: I16399c8a5bd61b09d29cd88e35c0ec441c6b9af4
CRs-Fixed: 3445762
SAE authentication happens with MLD address rather than link
addresses as it's common authentication for all links in an ML
connection. But OTA exchange of authentication frames happens
with a chosen link address from available links.
As userspace takes care of the SAE authentication, host driver
has to replace the rx SAE auth frame SA with peer MLD and DA with
self MLD address. Similarly for tx SAE auth frames, replace self
SA with link address and DA with peer link address.
Current change is to support the same for roaming case. Fetch the
MLD from scan cache corresponds to link address provided in roam
auth event and replace as mentioned above.
Change-Id: Ide15caa122f78301391b5ea891e2e6eaf4af8974
CRs-Fixed: 3441483