As ETSI18 and ETSI20 also added to check SRD channels.
Rename the api of ETSI13 with ETSI.
Change-Id: Ib04e809ba53a55101a6254e0c1ef9f9b37b93fb8
CRs-Fixed: 3616398
TDLS for MLO, it forces link active when sending TDLS discovery
Request, it needs to unforce the link when:
There is no discovery response on that link; or
The remain links except the link which is TDLS link; or
The link for TDLS but no more TDLS connection.
CRs-Fixed: 3623332
Change-Id: Ie9fb0d210952531744bba397c1a34f4d8f1f14fb
Currently, it uses timer count to check whether the expected TDLS
discovery response frames received or not. But sometimes, the
discovery response frame comes back before the timer count increased.
The frame pattern like this:
Send tdls discovery request on link0
Receive tdls discovery request on link0
Send tlds discovery request on link1
Receive tdls discovery request on link1
In this scenario, driver forwards two different discovery responses
frame to supplicant and causes supplicant confusion.
To resolve this issue, check whether the expected discovery response
frames received or not. If not, let the timer to monitor the situation
instead of stop the timer and forward current discovery response
frame to supplicant.
CRs-Fixed: 3624866
Change-Id: I47ee729ed4c426eda232c704fc99f681b9db2fa4
The structure ieee80211_eht_operation is not present in older kernels.
So, add a kernel version check to avoid compilation failure in targets
which use older kernels.
Change-Id: Id5e5d80e06e783258374465514246cfde9d86177
CRs-Fixed: 3627213
Currently when host driver tries to give the max vht rate, it
accesses the rssi_mcs_tbl in a loop without checking for the
max index for rssi_mcs_tbl array. This may result in array out
of bound access.
To address above issue, add a check in the for loop for the
max array index check.
Change-Id: I9ab2306f5ed4be745127d8fa35154902eb394e66
CRs-Fixed: 3618765
Driver refills the rxrate structure from kernel which
has been filled in previously. The issue happens in
legacy mode, when driver reports legacy rate but fails
to clear the rxrate.flags, causing kernel fails to
recognize it as legacy rate. This change clears the
rxrates to ensure kernel to recognize it as legacy rate.
Change-Id: I0702a4a6e6cba59fed87dd857e0fa1a8530f3c53
CRs-Fixed: 3611779
Add initialization value for sap_force_11n in
function __wlan_hdd_cfg80211_do_acs().
Change-Id: I32777fc5a4d50d57993e082d63873510dd02a16c
CRs-Fixed: 3626818
Currently if STA with country set to KR tries
to connect to an AP operating in 6 GHz band in
320 MHz bandwidth, connection happens in 160 MHz.
After connection if host receives SET_FCC_CHANNEL 0
command it disables all 6 GHz channels and keeps
in-use bonded channels enabled.
While processing connected AP's beacon as AP
advertised bandwidth 320 MHz is greater than
connection bandwidth 160 MHz, STA tries to follow
AP advertised bandwidth. As host validates
AP advertised bandwidth, it finds some of the
bonded channels are disabled hence tears down
the connection.
To address this issue ignore CSA if AP advertised
channel is same as the connection channel and
there is no change in puncture bitmap for the
given CSA params and best bandwidth supported by
regulatory for the given CSA params is same as the
connection bandwidth.
Change-Id: I5e376cfaf798a228b4c1db45770fc0108d54052a
CRs-Fixed: 3622068
Add initialization value for mac_hdr pointer in
function lim_deauth_tx_complete_cnf_handler().
Change-Id: I429e1a2cdad8a86907033719274def00acf7ff69
CRs-Fixed: 3626801
Add NULL check for rso_usr_cfg pointer to avoid NULL pointer
deference in function cm_update_advance_roam_scan_filter().
Change-Id: Ic7d0277705bafd551a8ee9f6cac7c479c71d187e
CRs-Fixed: 3626780
Stop moving of GO / SAP due to SCC enforcement on DFS channel if active
STA disconnects in between CSA countdown in-progress.
The scenario here is, existing SAP/GO is there on non-DFS channel and
STA connects to a DFS AP which creates MCC. This will then trigger SCC
enforcement logic. Now during CSA countdown (before GO / SAP actually
moves to STA's channel), if STA disconnects, then moving GO / SAP to
DFS channel will lead to FCC violation if radar detection is disabled.
Hence to handle this scenario, better to stop current GO/SAP's
movement to this DFS channel and allow to operate on current channel
only, STA associated to GO/SAP's will find that SAP/GO didn't beacon
on new channel so Heartbeat failure will happen and they will scan
and connect again
Change-Id: Id957efe0e763bb2065ec871dac2d2ca926577297
CRs-Fixed: 3577260
Currently, Host driver validates the frequency for channel
switch announcement, including checks for DFS, indoor channels
and SAP count.
This change is to remove these checks, allowing the host driver
to honor CSA requests from the AP and switch to the specified
channel for STA.
Once the STA moves, SAP will move to the STA channel and if not
allowed due to DFS/unsafe/indoor rules it will move to 2 GHz band
CRs-Fixed: 3620214
Change-Id: Ib6dfb8ffe798fefe576edc0e0db4f50912604c3c
In T2LM status event currently band info is not populating
for the stand by vdev
Update band info for stand by vdev also
Change-Id: If7413158a1e3edf170ae04791d377a4ad6008544
CRs-Fixed: 3624562
Kernel rejects NL80211_CMD_TRIGGER_SCAN when a scan is already
running. But ROC comes via NL80211_CMD_REMAIN_ON_CHANNEL which
doesn't have this check and the request comes to driver.
ROC preempts on-going scan and the scan is resumed post ROC
timeout. But userspace may issue ROC requests continuously
and the current scan may not get time for completion.
DUT has encountered this issue in below scenario,
1. Framework(wificond) issued a scan, driver started scan and
sent TRIGGER_SCAN event. wpa_supplicant monitors for
TRIGGER_SCAN event and avoid issuing another scan/ROC.
2. But wifi is turned off immediately, which has killed current
running wpa_supplicant
3. Wifi is turned on again and new wpa_supplicant is started,
but it's not aware of the ongoing scan. It started P2P
operations(p2p scan+listen) immediately.
4. P2P scans are rejected by kernel but ROC keeps on preempting
the current running wificond scan. Neither station scan nor
P2P scan/listen can make progress due to this.
Reject ROC(remain_on_channel) when a scan is going-on to avoid
ping-pong between station scan and P2P ROC.
Change-Id: I500b7c2062cb16ebc29027232608036a55ad4dea
CRs-Fixed: 3625673
Currently, the TDLS throughput is low and can't grow up, to resolve
the issue, populate the eht mcs accordingly.
CRs-Fixed: 3622297
Change-Id: Ic5388efb6131fe811368275f7e3c279fe7f9c7ea
Currently if AP sends pmf timeout as part of assoc response,
host starts pmf timer without stopping the assoc failure
timer and retries assoc after the pmf timer expirs, as a
result early assoc failure timeout is observed for the
second assoc request resulting in assoc failure.
To address this issue, stop assoc failure timer before
starting the pmf timeout timer.
Change-Id: I04358e4d0fbe54552f4b387789a256f45dc7e20f
CRs-Fixed: 3602605
In api cm_roam_scan_info_event(), fw_timestamp value
is fetched from wmi_roam_trigger_reason->timestamp
which results in same value as in roam trigger event.
Modified the api cm_roam_scan_info_event() to fetch
fw_timestamp value from
wmi_roam_scan_info->scan_complete_timestamp to send
proper roam scan done event fw_timestamp to userspace
to log.
Change-Id: Idb1bcfad223b20a57b47d6e0040305000f6165ea
CRs-Fixed: 3624454
QCA_WLAN_VENDOR_ATTR_CONFIG_MODULATED_DTIM attribute is defined
incorrectly.
Modify this attribute to QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_DTIM
as per the upstream qca-vendor.h file.
Change-Id: Ib8e688e52d19b4805089218e8f976bafdf673792
CRs-Fixed: 3617538
Currently, policy_mgr_is_sta_sap_scc is validated before updating
DFS frequencies in PCL list.
policy_mgr_is_sta_sap_scc returns false in case of standlone GO
or GO + GO due to which DFS frequencies are not updated in PCL
list and GO is not allowed to come up on DFS channel.
To allow standlone GO on DFS channel don't add DFS frequencies
based on policy_mgr_is_sta_sap_scc. add DFS frequencies based on
allow_go_scc_on_dfs_chn.
Change-Id: I8065e533b73b349ec4f3943ba0ffb2e108283298
CRs-Fixed: 3624038
The Association Response with wrong status code(0x01: Unspecified
failure) to Association Request without rates IE.
Change to send the Association Response with status code 0x12(due
to requesting STA not supporting all of the data rates in the
BSSBasicRateSet) to deny this Association Request without rates
IE.
Change-Id: I16cc4d54fa62530bb049e4f3151ed22814a52b4b
CRs-Fixed: 3617022
Same IOT 11AX P2P GO advertising 20 MHz in beacon but assoc response
with 80 MHz. Allow our P2P CLI connecting as 80 MHz for 11AC
and 11AX mode GO to achieve bigger BW.
Change-Id: I821b562db5217d86f8df43ca706aa0caa40859ed
CRs-Fixed: 3621881
Add NULL check for psoc_priv pointer to avoid NULL pointer deference
in function pre_cac_handle_radar_ind() and pre_cac_handle_cac_end().
Change-Id: I07d0b98edb8e96d7803444bfd394d055a8b8d156
CRs-Fixed: 3625352
SAP is allowed to come up in STA channel post STA connection in
Non-PSC channel in 6 GHz.
This change is to move SAP into 2.4 GHz if SAP is in non-VLP mode and
STA channel falls into Non-PSC channel.
Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc79
CRs-Fixed: 3596089
The connect request for link vdev is not generated properly from
roaming module for OWE roaming. The assoc IE pointer in connect
request is not allocated, but copied for assoc_req_len. This
causes buffer overflow and some security parameters are
overwritten with wrong values. This results in security
validation failure and ultimately disconnection happens.
Allocate memory for assoc_ie ptr before copying the assoc ie
from rso_cfg.
Change-Id: I7a05d61011f6ac39e7107c4d2270aa3025d79142
CRs-Fixed: 3619743
AP can sends channel width and related information via below OPIE:
1. Wide Bandwidth Channel Switch (Subelement ID 163)
2. Bandwidth Indication (Subelement ID 164)
Add driver support to parse above IEs coming in channel load
request and fills IEs with proper values in channel load
response.
Change-Id: I5768389612f05a882ef2a083e7c58c4aa4ac9b79
CRs-Fixed: 3605160
Currently if ll_lt_sap needs restart, host driver selects
best bw for the restart channel, since ll_lt_sap always
needs to operate on 20 MHz bandwidth, host driver needs
to keep the bw as 20 MHz always when it selects the restart
channel.
In current scenario, ll_lt_sap is up and country change
happens, current operating channel of ll_lt_sap is invalid
according to new country regulatory which leads to restart
of the ll_lt_sap and during restart, ll_lt_sap is changing
the bw to 40 MHz.
To address above issue, add logic to keep the same bandwidth
for ll_lt_sap restart.
Along with the above change, below mentioned changes are
also taken care as part of this fix:
1. Filter 2.4 GHz channels when policy manager modifies
channel list for ll_lt_sap as there is a possibility
that this API gets invoked from different path other than
get_pcl, in current scenario this gets invoked when host
driver tries to get the restart channel and in that case
policy_mgr_pcl_modofication_for_ll_lt_sap gets invoked
with the policy_mgr psoc list which contains 2.4 GHz channels
as well.
2. Return current SAP frequency from wlansap_get_chan_band_restrict
API if SAP need not restart and add a check in the caller API
to not restart the SAP if the restart freq is same as the current
frequency. currently wlansap_get_chan_band_restrict API returns
0 if SAP need not restart or if it does not find any valid frequency.
If this API does not find any valid frequency for SAP restart and
if current SAP frequency is invalid (for ex: if country changes)
then this API returns 0 and the caller does not restart the SAP,
which results for the SAP to operate on invalid frequency.
With this change wlansap_get_chan_band_restrict API returns different
values if SAP need not restart and if SAP needs to restart and there
is no valid frequency.
Change-Id: I90378623265a9f5879e82cecb7c1cfcb9adc7a27
CRs-Fixed: 3617465
Currently Join failure is sent in case bssid mismatches during
assoc/reassoc rsp handling. Which may cause issue when spoof
rsp is received before actual response because host will send
join failure due to bssid mismatch and can't handle the actual
response which may lead to connection failure.
To avoid such issues send join failure only in case of link vdev.
Change-Id: I27a96f84fcddef4affcef01a4127b38a6db7dd6d
CRs-Fixed: 3625626
If SAP is started on 5 GHz/6 GHz frequency. Concurrent STA
connects on a different non-dfs, non-indoor 5 GHz frequency. SAP
is moved to STA frequency. And if STA disconnection happens
SAP moves to user configured frequency, even if SAP was
previously on same band as the user configured frequency.
Don't move SAP to user configured 5 /6 GHz frequency if SAP is
already on another 5 /6 GHz non-indoor, non-dfs frequency.
Change-Id: Ibb035f3c490d965f70ddead69c9657a94628a122
CRs-Fixed: 3531141
ML STA 2.4 GHz +6 GHz and SAP on 2.4 GHz, start GO failed
because sta_sap_scc_on_dfs_chnl is 0 and driver reject the
GO start.
Fix by allow such combination for sta_sap_scc_on_dfs_chnl = 0
or sta_sap_scc_on_lte_coex_chnl = 0 per requirement.
Change-Id: I5344fee1bf790f1528d46b14c802985aa4987ac3
CRs-Fixed: 3623408
Channel bonding is enabled wrongly after sta disconnected for max channel
width is larger than 20 MHz even gChannelBondingMode24GHz=0.
To fix it, when restore max channel width after sta disconnected,
restore to ini gChannelBondingMode24GHz value.
Change-Id: I72cae0360bf51a2c914d1bfec069abae6a03b337
CRs-Fixed: 3618677
Restricting P2P-CLI to not set channel width to 80 MHz
for 5 GHz when INI gChannelBondingMode5GHz is not set.
Change-Id: I756343a4e9c2800da6c86d2a706815b6102d7161
CRs-Fixed: 3621727
whenever the STA is roaming to the same AP and there is a
HO failure, that AP is getting to the avoid list, resulting in
subsequent connections failing to the same AP
Do not add the AP to avoid list if the HO failure is to the same AP.
Change-Id: I7e375c8dab3e0f22eaf99a1d9117c719c14caba3
CRs-Fixed: 3620443
Current code does not have certain Kconfig configs
defined, used to disable unexpected interface
combinations. Fix this by defining in Kconfig.
Change-Id: I6289ce95df232b05d6c1ba406dca9ccf09df468d
CRs-Fixed: 3622374
The host driver now sends a notification to the
firmware when a CSA (Channel Switch Announcement)
is rejected due to no change in channel, bandwidth,
or puncture.
Change-Id: I5d8a424459898d15a7931baf7ca4c3de8308c64e
CRs-Fixed: 3595843