The following vendor cmd can be used to set the
sw retry threshold per vdev for all AC:
Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Non-Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY
Change-Id: I49d88ae1f3f6142d8a420fd92f6f40bf3aad03e6
CRs-Fixed: 2945913
Reduce the timeout to wait for TDLS mgmt to
complete from 11 seconds to 3 seconds.
Also, Allow Tx data frame if no ack/nack is
received even after 2 seconds for last data
frame.
If last data frame is sent and no ack/nack
is received within 2 seconds, then drop the
new data frame.
Change-Id: If3294908cb1399c3b4c8931b80663671400bf610
CRs-Fixed: 2966308
Currently when gDot11Mode=6 (11n only) is configured in ini and AP
is operating in 11n mode the STA is connecting in HT mode, but when
AP is operating in 11AC/11AX mode then STA is connecting in legacy
mode i.e 11b/g/a. This is due to check which compares phymode of
BSS is 11n or not but failed to check BSS phymode is 11ac/ax.
Due to this there is mismatch in phymode and mode is downgraded
to legacy.
These changes will perform the check and allow STA to connect in
11n.
Change-Id: I8196b44db5a12fbba39ffcf58202fa1863b1c4b4
CRs-Fixed: 2965287
Currently if channel switch is in progress and if deinit
ap comes, channel switch does not gets complete and driver
does not reset channel switch in progress in adapter. Now
if driver receives channel change cb in hdd from regulatory,
it tries to restart the sap according to updated channel list,
but it waits for channels switch in progress to be completed
by taking the netdev reference for SAP adapter and this wait is
of 2 seconds, in this time if del virtual interface comes for
SAP adapter comes in that case it will detect the net dev ref
leak as one net dev ref is taken by country change work.
To address above issue, complete the channel change on deinit
ap mode and also check if SAP is started in country change
work before starting to wait for channel switch in progress.
Change-Id: I349e217a94093b3751310d4f7378fb6585f77743
CRs-Fixed: 2969343
Add INI configuration support to enable/disable BSS color collision
detection offload in STA mode.
Change-Id: I9d8f096813d74242566ccae5f92e872bcaca6295
CRs-Fixed: 2965133
Currently driver initializes the wiphy 6ghz band without
checking the band capability. If FW does not support 6Ghz
then wiphy register is failed as wiphy 6ghz band is initialized
by driver.
To fix this, initialize the wiphy 6ghz band only when host
driver and FW both supports 6Ghz band.
CRs-Fixed: 2968968
Change-Id: I28d660f515d16d0eb4245311b42c69308576ac62
When SME/CSR layer received assoc indication, can't get session id by
bssid in some cornel cases, assoc req is leaked.
Change-Id: I877887fc0e2fe79a4ade53ba4aebc158fe480c28
CRs-Fixed: 2964966
When receiving management frames, there can be excessive error logs.
Change these to debug prints.
Change-Id: I78a281bdc32bee580ed3470406163a77b43fac9b
CRs-fixed: 2968877
When an existing flow is evicted, there is chance that the
REO ID of the newly added flow and the inflight packets of the
evicted flow mismatch. In such cases, check the FSE metadata of
the flow with that of the packet instead of triggering a BUG().
Change-Id: I7412055101fb72f7b28db615672e88837d79e8d3
CRs-Fixed: 2968500
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.
Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
Currently host relies on fw for vdev id for ll_stats
response but FW does not send the vdev id in response
of radio stats and peer stats as response of the ll_stats
request. Host needs this vdev id to get the adapter on
which the ll_stats request is received so that is can process
and send the response back to user space.
To address above issue add vdev id in request private
structure and when receives response from the FW, extract
this vdev id from private structure.
Change-Id: I28c411aea852b36cd1a13174e87adfa7972fc077
CRs-Fixed: 2964782
Currently api wlan_hdd_set_channel is using channel number to validate
requested frequency, this function converts center frequency to
channel number and again converts this channel number to frequency
to validate this channel, which may cause issues when 6GHz SAP
tries to come up.
For example if center freq is 6015 and current country is set
to US, with current logic first this frequency is converted to
channel number which comes to be channel number 13 and then this
channel number is converted back to freq and gets validated. As
channel 13 is invalid in US this validation fails even though
freq 6015 is valid frequency in US.
TO address above issue, remove this converion of center freq to
chan num and chan num to freq, instead used center frequency
directly for any kind of validatoin.
Change-Id: Iec86c7f42e3f7e786f89df28f53ca71f67defc24
CRs-Fixed: 2970037
Host driver sends roam invoke command to firmware as part
of supplicant initiated reassociation or nud failure.
In response, firmware sends roam synch indication if
roaming is successful or roam invoke fail or handoff failure
if roaming failed. On sending the roam invoke command, host
driver sets the roam_invoke_in_progress flag to true.
This flag is checked when scan request is received to avoid
scan during roam invoke. If firmware is not able to respond
to the roam invoke event, then the roam_invoke_in_progress
flag is set indefinitely resulting in continuous scan
rejection.
Add a new roam_invoke_timer timer and start this
wakeable timer after roam invoke command is sent to
firmware. On timeout reset the roam invoke in progress flag.
And host ignore the roam invoke response if firmware sends
roam invoke response without roam invoke request.
Change-Id: I5ca4497e06a26c3bec38bf401ae2bf77a6eade5e
CRs-Fixed: 2917870
wlan_twt_concurrency_update() calls the flush work internally.
So when the caller calls wlan_twt_concurrency_update api in
schedular context, flush work will block the schedular thread for
4 sec(twt enable/disable timeout value is 4sec). Because of this
the other request will be block till this time.
As part of fix, remove flush work and reduce twt enable/disable
timeout to 1 sec
Change-Id: I8f16da44b21cf54fcf2256aaef53371431e64aac
CRs-Fixed: 2963695
Define A_OFFSETOF macro to fix compilation
errors.
A_OFFSETOF macro is mapped to macro offsetof()
defined in stddef.h.
Change-Id: I766826d610fcb6a06775f07bcd8a041ee29be89b
CRs-Fixed: 2967130
Currently, cp stats are received through kworker thread context.
This causes race conditions/out of sync issues if any common data
structures are handled in parallel in scheduler thread context.
There is no need to receive the cp stats on kworker thread as per
current design. So, move the cp stats event handling to scheduler
thread to avoid any race conditions.
Change-Id: Id8134003e6f7a3e0368b20c496f650e0b7025b9e
CRs-Fixed: 2928876
The WTC parameters are stored in MLME vdev private object.
So the parameters are cleared once vdev delete is done.
Move the WTC parameters to psoc->mlme_cfg to retain the
values across disconnections.
Change-Id: Icecfbef19af994f8a05622501d435bfb63beca50
CRs-Fixed: 2959715
Disable unit test config as it causes
compilation failure with 32-bit compilation flags.
Change-Id: I296ffd97d1f2aae0151bd66f8b7527e5ee2a827a
CRs-Fixed: 2967200
Possible bufer overflow risk in function
wmi_unified_bcn_tmpl_send.
Validate the beacon template length against
WMI_BEACON_TX_BUFFER_SIZE length to avoid overflow.
Change-Id: I98665de677f314f30a57991f48191f847718740c
CRs-Fixed: 2960714
Processing multiple connection requests at the same time may break
concurrency checking and result in unexpected behavior, to avoid
that, reject NAN extended request if any other connection is in
progress.
Change-Id: I95a6a5ab27a923c42af76355033267fe7ca453eb
CRs-Fixed: 2959292
Firmware sends NAN log events to driver and these are logged
with info level to capture complete NAN state machine logs in kmsg.
Currently, these events are received/processed in soft IRQ context
and causes performance issues as logs introduce delays. Move the
event registration to RX_WORK context to avoid delays.
Change-Id: I15ba20059f55f002cfe276d62e68e3cc09136a23
CRs-Fixed: 2960359
There is potential issue about array access out of bounds when set
CFR configuration. Since HDD_INVALID_GROUP_ID - limit index of array
is different to MAX_TA_RA_ENTRIES - array size. This change redefines
HDD_INVALID_GROUP_ID and lets it same to MAX_TA_RA_ENTRIES.
Change-Id: I5e30c8d2ce93736467cae465b06a1e28e93458d5
CRs-Fixed: 2960584
For dual sta case, if vdev0 disconnected before vdev2 disconnected, vdev0
PCL cmd retained vdev level, after vdev0 reconnected first, just allowed
intra band in PCL, only can roam in intra band.
Fix: When vdev disconnect, reset it's PCL cmd to pdev level.
Change-Id: I3ed3ec398cfe1a17d07ce716c27026b9660305bd
CRs-Fixed: 2960194
Set PCL command should be sent to firmware only for STA mode.
For P2P vdev, except the connected band, the other band channels
are marked disallowed. With this, if the set PCL command is sent
then STA can't roam to the disallowed channels.
Hence don't send PCL command if the vdev opmode is not Station.
Change-Id: I6c4917f75d5f14169e2c564d5f6deee819fb629a
CRs-Fixed: 2939148
Existing INI disable_4way_hs_offload is defined as a boolean
that controls the EAPOL Handshake to be offloaded to Firmware or
Not. There is no way to specify the EAPOL offload per AKM.
Hence extended the support of EAPOL handshake offload to firmware
per AKM by converting this INI to a bitmap integer.
With ini value as 0 by default Firmware takes care of 4-way HS
during roam for all AKMs except for SAE and OWE. If
this ini value is 1 then Host takes care of EAPOL for all AKMs.
Having the backward compatibility, added a new value to ini.
If this ini value is set to 2 and also if the SAE EAPOL offload
service bit is set by Firmware then the behavior is same as ini
with 0 except that Firmware takes care of 4-way HS for SAE roam
as well. And for OWE it is still handled by supplicant.
To achieve this, new roam offload flag is introduced to indicate
Firmware about SAE roam EAPOL offload, So that in Roam sync
indication Firmware will inform the status as connected but not
authenticated so that supplicant can take care of 4-way EAPOL HS.
Change-Id: I8b65a1768fad91fac7e427712d3ccf4586176f5f
CRs-Fixed: 2955029
Currently SAR safety feature works only for sar version 2
and it does not work for dbs.
To support SAR safety feature for DBS update sar version
check to block it only for sar version 1.
Change-Id: Iff9ab94fc0667cce7a0d1ab44d7393dacfb2745b
CRs-Fixed: 2959558