Currently driver does not update ccfs2 correctly in ht operation
when it caches the connetion info, because of this userspace
is not able to get correct bw info for sta big data.
To address above issue, update ccfs2 corrrectly in ht operation.
Change-Id: I13dc8b674d24be7435a85b91a1ecc43e0c37900b
CRs-Fixed: 3183162
Bus bandwidth timer tweaks certain aspects of the system during
throughput transitions. For example, when throughput goes high, system
parameters are tweaked in favor of system performance. Hence, when high
performance is not needed, the timer relies on throughput transitioning
to low to reset the parameters in favor of power.
During a corner case, its possible that while througput is high, wlan
adapter is immediately brought down. This stops the bus bandwidth timer
abruptly without letting the the timer detect a throughput transition to
low. This may result in higher power consumption even when there is no
data activity or throughput is low.
Explicilty force a transition to "IDLE" state when bus bandwidth timer
is stopped.
Change-Id: I0a0a64a855714b1a8b5a52a048604fef54a0ee41
CRs-Fixed: 3087118
hdd_txrx_hist histogram is accessed in hdd_pld_request_bus_bandwidth.
init/deinit tx_rx_histogram along with init/deinit of hdd_bus_bandwidth
Without this in FTM mode where hdd_txrx_hist memeber is accessed without
allocating memory for it. This results in uninitialized NULL dereference
assert
Change-Id: I3b8d80b71f4c37da4a0dafc4a7b91f8ca16bbab3
CRs-Fixed: 3110416
Currently, when user sets pkt capture beacon capture config
using vendor command, both nth beacon interval and connect
beacon config is sent to firmware. This leads to reception
of all beacons even if nth beacon interval is configured.
Whenever nth beacon interval and connect beacon is configured
from user, firmware expects host to not send connect beacon
config to FW. This change also adds Nth beacon filter check
for beacons in packet capture management rx path.
Change-Id: I046a282c5f79598b686c4fd95554e2330c6bfb39
CRs-Fixed: 3150806
Currently, on Wear HL based target with keystone kernel, it
generates WLAN driver with name "wlan.ko". And to enable WIFI
every time it has to rename wlan.ko with qca_cld3_wlan.ko.
This commits generates the WLAN driver (WLAN_CHIPSET_wlan.ko)
based on Macro defined i.e. WLAN_CHIPSET else generate wlan.ko.
Change-Id: I9b278ba74052f1a333ed59d0b048d5a0611db076
CRs-Fixed: 3125247
Currently driver fills the reason code as
STATUS_UNSPECIFIED_FAILURE when sae authentication frame is
received or sent with failure status code.
So while processing SAE auth frame sent by AP, the DUT STA reports as
“Wrong password” instead of “Auth error” in the user interface.
Parse the status field for SAE Auth frames received from the
external authentication status command. This should be passed to the
userspace as part of connect failure indication
Change-Id: I9061cef6ac73a74021901dfa056551f51033de0c
CRs-Fixed: 3182981
In wma_is_roam_in_progress function, return false if wma pointer
returned from cds_get_context is NULL.
Change-Id: I0a3447f038a45ea93e769142cb5883a3f39c0991
CRs-Fixed: 2475071
Currently sched-delay is not taken into account while calculating TX/RX
offload packets in bus bandwidth work handler. This may result in an
incorrect calculation and determination of TX/RX bandwidth levels and
other params which are derived from it.
Add support to consider actual scheduling delay between two bandwidth
intervals to detemine TX/RX offloaded/not-offloaded packets.
Change-Id: Icfb961cbbc1a049df0133394883755418b631056
CRs-Fixed: 3079953
When a NAN request(NAN enable/disable/any generic) is received
from userspace, host driver checks if any connection(STA/SAP/P2P)
is in progress by iterating through adapters. The request would be
rejected if any adapter has connection_in_progress status.
But if the adapter is getting cleaned up in parallel while
iterating through the list for connection status, the iterator
callback may stuck in loop. So, use hdd_for_each_sta_ref_safe()
API to avoid stuck in loop.
Change-Id: Ic7833dcb17154003565ccbece31a490ee9f43beb
CRs-Fixed: 3183232
When vdev0 STA roamed to another channel, vdev1 SAP CSA for SCC
when ROAM_SYNCH_IN_PROG, will disable roam, but no RSO stop to F/W,
F/W RSO isn't disabled, but host vdev0 will enter RSO_STOPPED, host
F/W RSO state out of sync.
If vdev0 STA next roam sync come soon, it won't be handled for host
RSO_STOPPED, neither roam sync complete nor disconnect will happen,
F/W will asert after wait roam sync complete timeout.
To fix it, Only do SAP CSA check after roam complete and RSO
reenabled, can avoid host F/W RSO state out of sync issue.
Change-Id: I77ccf30cac38f62c6ef8330c6da00364249b242e
CRs-Fixed: 3076935
Certificate 4.70.1_6G need verify that the following conditions are true:
a. APUT responds with a Probe Response frame with the Address 1 field
set to the broadcast address when test bed STA to send Probe Request with
SSID = as per Table 168, Address 1 = wildcard (broadcast).
Change-Id: I44581eaf251b79f47e374d8294616c554a9acf10
CRs-Fixed: 3104288
As requested by OEM, change PAGE_FAULT log string to PF to
not confuse it for a critical problem for OEM.
Change-Id: I4057513670b348dd772b42777b5623722eeafc45
CRs-Fixed: 3064527
fcs_err_count member of structure station_info
introduced from kernel 4.20.
Enable it accordingly from 4.20.
Change-Id: Ic373cb4f95a9698c8ef25c829f39bd21cd8f4a26
CRs-Fixed: 3183697
To support uplink delay calculation, FW will report mac_id and
mac_id_valid in TSF report so as to differentiate from legacy
TSF report. Thus save mac_id and mac_id_valid fields in TSF
report so that host can differentiate the TSF report purposes.
Change-Id: If76fd49ff9693a7733389d184a84360c0564216e
CRs-Fixed: 2991959
Uplink delay TSF commands include TSF auto report enable, disable and
TSF uplink delay get. Auto report enable, disable commands controls
if targets will report clock delta to host. Uplink delay get command
will return the calculated uplink delay value to user space.
Change-Id: Ib01379074ab5565a9480348dc84531024e766b5a
CRs-Fixed: 2958814
As part of uplink delay report feature, send WMI cmd to
enable and disable target automatically sending TSF report
to HOST on a per vdev basis.
Change-Id: I79ef5bff5b91aca311ef16d7207e9dd2fb7ae0f2
CRs-Fixed: 2991975
chload is to indicate channel load condition and it is added
in LL radio stats vendor event.
Change-Id: I9371bf69f69ed62cc9dc97b6b2903e631b748ed4
CRs-Fixed: 2990982
When SAP starts on 5G, initialize SAP mandatory list with
2G and 5G mandatory list. And also select same band channel
SCC channel firstly in the intersection of PCL and mandatory
channel list.
Change-Id: Iac86b5caf38bf72f143be81122f8378fc61b29e2
CRs-Fixed: 3039268
During enumeration all adapters, if adapter is not "up",
it is unnecessary to check connecting or not. Otherwise,
the vdev is not created for the adapter and the
sme_roaming_in_progress will output "ROAM: incorrect vdev ID"
error message.
Change-Id: I3df5379a7d0b88c439d49711c36000717c7a433b
CRs-Fixed: 3002674
As dynamic allocation occupy cnss prealloc memory, which may
cause this prealloc pool to be exhausted.
Move dynamic memory to static.
Change-Id: Ib05c044f8c0c805148d832f54c09915ef9b4c98b
CRs-Fixed: 3174282
TWT is not disabled for certain APs. Add OUIs of the
APs to configuration file.
Change-Id: I3bb2238550294b443f166920069a14fb81e6873d
CRs-Fixed: 3176212
Add support to enable the "FT over DS" via
QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS vendor config
command.
This configuration helps the firmware to support
“FT over DS” instead of “FT over Air”
Change-Id: I493bf15f83bc39135aaeefa9d8ef328f0fc0cda3
CRs-Fixed: 2968680
Sometimes TX/RX pkt statistics workqueue may be delayed.
The workqueue interval value is pre-defined and is used
for bandwidth vote. If the interval is inaccurate, whole
pkts statistics are not accurate, bus bandwidth vote is
wrong also. This change is aimed to use absolute workqueue
time delay instead of pre-defined value to get accurate
packets per milliseconds result.
Change-Id: I2b730fc36d4b5c42742ed9107d9a7e1f95eb4988
CRs-Fixed: 2976857
Currently driver frees the radio stats memory from wma
in error cases, there is a possibility that if hdd gets
time out for the stats request, it tries to free the radio
stats memory and at the same time if wma receives invalid
stats from fw in that case wma also tries to free the radio
stats memory which may lead to double free.
To aoid above issue, do not free the radio stats memory from
wma, in error cases hdd will free this memory after it gets
time out.
Change-Id: I6f6073a1a8e0be1b87efce288b7567e8fc8d69b0
CRs-Fixed: 3013842
Reject any incoming get_all_peers TDLS command if there
are any currently in progress.
The later commands will only be processed once the earlier
commands finish, since they are processed sequentially.
However, once a command finishes, the memory allocated for
it from userspace is freed up. Each command is passed the
same address so the later commands will end up writing to
a freed address. To avoid this, reject incoming requests
if there are any still in progress.
For this, the condition should be corrected.
We shouldn't use completion_done here for checking for
completion as this will always return false, as
tdls_user_cmd_comp.done will remain in init state always.
So, the very first command will also not work.
In general completion_done is used to check if there are
multiple threads waiting on the complete event that's
why it will return true only when tdls_user_cmd_comp.done
is set with complete().
Also, if the state is in wait_for_completion, this function
will return true after the wait timer is over or condition
is met as wait_for_completion will hold out the hold lock
and will will prevent completion_done from returning.
Better to use a flag to determine command condition.
Change-Id: I1b6b270dbb9b0b103f10e7ae22a60030ea2fbb98
CRs-Fixed: 3162184
Enable global IPA structure, g_ipa_config only if it is
enabled in both platform driver and ini file.
Change-Id: I1bd4e03eadf420f736bb91478b0f2e04bcd60ebd
CRs-Fixed: 3148820