After the connection is established with HE160/VHT160 AP,
the STA downgrades the channel width to VHT80/HE80, leading
to 50% TPUT reduction.
The associated beacon processing doesn't consider the new VHT OP
IE definition while parsing the channel width. Fix the channel
width processing in the beacon processing.
Change-Id: Icd7d36a8352be7574474fb5f37fa9b4ca291aa04
CRs-Fixed: 3211833
Platform driver needs driver mode information to load different fw iamge,
so enables this mode exporting feature in wlan driver, also update
corret mode when mode change triggered from sysfs.
Change-Id: I848309440fdffd6517463e18190c03c1b7ed9269
CRs-Fixed: 3204663
Driver checks all 160Mhz 5 GHz SAP as DFS channel SAP, but
it is not right for some regdomain which no DFS required for
some 160 Mhz channels.
Fix by check wlan_reg_get_bonded_channel_state_for_freq API
to set DFS flag.
Change-Id: I8cd402c285e858ef8d322fc8d7cfaa32ae4c2056
CRs-Fixed: 3208538
When SAP and STA both are in 11n mode then STA doesn't populate
twt_req bit during assoc req. Because of this TWT commands failed.
As part of fix, check the below variable before setting twt_req
1. TWT requestor support from firmware
2. Enable TWT ini
3. TWT ini support in 11n
4. TWT requestor support from host
Set twt_requestor bit only if all above variable are set.
Change-Id: I77f2397f986b517cd5292109927eece7fdb4c7c1
CRs-Fixed: 3210015
Currently host sets wmi_vdev_param_set_traffic_config param
id to set traffic config param but convert_host_vdev_param_tlv
is disabled for MCC. so, latency/throughput flag is set for host
param id 0x99 but in FW vdev param id to configure traffic type
is 0xB6.
Fix is to update vdev parm id to 0xB6 to keep same vdev param
id in both Host and FW.
Change-Id: If67d00308810920e9a621fdfff1b05bcccc2e047
CRs-Fixed: 3209724
currently mld address is getting updated only when firmware sends
a default mac address in init events, add support to update the
mld address when mac address are retrieved through the platform
driver.
Change-Id: If94368f26204767c95f083043b6508c412ac89dc
CRs-Fixed: 3192847
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.
Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
Currently unprotected diassociation frame is dropped if
PMF is enabled and keys are not installed. This causes
delay as supplicant has to do EAPOL timeout after
10 secs and then do disconnect.
Allow unprotected disassociation frame when install keys are
not done.
Change-Id: I12068d7b10c4e6f7885ca3a3400a8845a4c236f2
CRs-Fixed: 3208427
In the current driver implementation, check for ml_vdev_count
before invoking get_station_cb for MLO station stats is missing.
This causes timeout and failure to get station stats.
To resolve this issue, add sanity check for ml_vdev_count
before invoking get_station_cb for MLO station stats.
Change-Id: I2e8fca1b732b1e8638cec6536ea70d2174c287f7
CRs-Fixed: 3209608
The AP adds OMN IE in the assoc response, and changes
its operating channel width during association. The
STA must move to this new channel width and update it
to the firmware during peer assoc. Since, the STA
doesn't update the channel width properly, it leads
to retries in the higher bandwidth where the AP is
not currently operating.
The VHT channel width calculation in the host driver
is not equipped to handle the new VHT OP IE definition.
Differentiate the VHT operating channel width field in
the VHTOP IE based on the ccf1.
Change-Id: Ibc3dc91ecc091a307244e3e1359dfe9e4520f277
CRs-Fixed: 3205020
Currently if SAP is operating on 5GHz channel and if country change
happens to a world mode where SAP is not allowed on 5GHz channels so
SAP moves to a 2.4GHz channel and saves the current operating 5GHz
channel, now when again country change happens then SAP tries to
move to previous 5GHz channels, if SAP is not allowed on this 5GHz
channel in new country, SAP comes up on 2.4GHz channel.
Ideally SAP should come up on some other valid 5GHz channel instead
of 2.4GHz channel.
This scenario is possible for 6GHz channel as well.
To address above issue, add a fix to get first valid same band channel
if previous same band channel is not valid channel.
Change-Id: I39dc297846c838731a70cd01d696bcbd8a054970
CRs-Fixed: 3175740
This change is to add support for 320 MHz bandwidth based on
EHT Operation element defind in 11be draft 1.5.
Change-Id: Ie2e165493538991c331a856fea26d3ca518f04ad
CRs-Fixed: 3202962
Per 11BE Spec, only 320 MHz support in 6 GHz is defined in EHT
PHY capabilities. Therefore when deciding max target supported
EHT bandwidth, 320 MHz support is first checked using target
advertised EHT phy caps. If 320 MHz is not supported, fall back
to VHT channel width supported, which includes 160 MHz and 80 MHz.
Change-Id: I26ddfa250db66d72ca55a3c9f966d71740cb0414
CRs-Fixed: 3190474
SAP is allowed to come up on SCC with a STA operating
in 6GHz only if the STA is on a PSC channel in VLP mode.
Therefore, filter out all 6GHz channels from the PCL if
the STA operates on any non-VLP mode. Also, in case of
VLP mode, filter out non-PSC channels.
Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc78
CRs-Fixed: 3206471
Sta is not allowed to connect/roam in 6 GHz frequency or indoor
frequency in non-DBS target if SAP is active.
But STA roams to 6 GHz AP when SAP is active since the PCL allows
6 GHz frequency.
While populating PCL to firmware, check if 6 GHz and indoor
frequencies are allowed for non-dbs target and set the
weight appropriately if the channels are not allowed
Change-Id: I0e5fdc5b3c4177283d91cdfc58359336cc11910d
CRs-Fixed: 3205494
When STA is connected to non-dfs, non-indoor channel and
SAP starts second with mandatory channel list enabled,
then SAP is moving to 2.4Ghz. But SAP should follow sta
and move to non-indoor, non-dfs channel.
Also when STA is connected on DFS channel and when SAP
is coming up with g_enable_sta_sap_scc_on_dfs_chan,
then SAP also should move to DFS channel
So when PCL channels are filtered based on mandatory
channel list, then allow dfs/indoor channels based on
concurrent STA frequency.
Change-Id: I2bcb81a8b014108b07db36a31d03d0a16fe49eb9
CRs-Fixed: 3207750
Current code calls wlan_hdd_select_queue(dev, nbuf)
inside the netif_tx_lock(dev). But the logic does
not need to hold this lock.
Move the function call outside of the lock,
to optimize the critical section.
Change-Id: Id3b86ec82e9583e8d91b0a0f28f951ea192c3f06
CRs-Fixed: 3207147
The max IE length in the frame is 255, and the payload of Multi-Link
element is becoming more than 255 and fragmented. Add logic to defragment
the ML IE when parsing the rx frames.
Change-Id: I438972143b457072edcd3e5b13b7c043a445457f
CRs-Fixed: 3202402
For KIWI platform FST reside in CMEM. CMEM address is known at the
init time from platform driver. Use 16K of CMEM address for FST.
Increase MAX FISA FST entry size to 256, which is allowed max size with
16K of CMEM allocation for FISA FST.
Change-Id: I395ab884b9cc761ed3c4438434475d6f9908a62b
CRs-Fixed: 3199251
If macro WLAN_FEATURE_11BE_MLO is enable, get_station_stats_cb for
TYPE_STATION_STATS is called only if last_req->ml_vdev_info.ml_vdev_count
none zero when WMI_UPDATE_STATS_EVENTID event comes back.
This causes timeout and fail to get station stats for legacy device or for
MLO device which does not set last_req->ml_vdev_info.ml_vdev_count.
To resolve this issue, add sanity check legacy device before invoking the
callback and set last_req->ml_vdev_info.ml_vdev_count if it is MLO device.
Change-Id: I8ca325482fc32de87cbedcba7d4af17d3876cbbc
CRs-Fixed: 3202588
Add log to check which mode, vdev and freq is
added as disabled ml link and dump disabled
links after moving vdev from connection table
to disabled link table and decrement session
count only if provided vdev entry is present
in connection table.
Change-Id: I19cd9323b7b66b29366f2ac930798da8ef91a709
CRs-Fixed: 3205975
When disconnected request started for an MLO connection,
link vdev gets disconnected first and then assoc vdev. So active
disconnect request is queued for link vdev first. As part of
RSO stop request-response handshake, the disconnect request is
cached and RSO stop request is sent to firmware. Disconnect is
supposed to resume for link vdev after getting the RSO stop
response . But currently, first MLO vdev gets checked if it
has active disconnect. This may fail to fetch the active
disconnect request if the first vdev in the list is assoc vdev
as it doesn't have active disconnect but link vdev has.
Check if it's a link vdev to resolve this and fetch active
disconnect req always.
Also, if there is only one link present(e.g. single link
connection or failed to connect the secondary link, etc.. ) in the
vdev_list, current release of vdev refs at the end of the API
wlan_cm_mlo_update_disconnecting_vdev_id() is not valid as it's
trying to release all links. Release only the links for which
reference is taken.
Change-Id: Idcb8a979dbdadafd4690e51a7301c4a7dfe82f73
CRs-Fixed: 3203969