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
For IPCI_FW_SIM, HOST is not sending WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID to
FW. To wakeup HOST after suspend add api pld_ipci_fw_sim_exit_power_save
to redirect HOST wakeup.
Change-Id: Iaec5c947c5f3c1fd23dc5b31801ff94612fb7c47
CRs-Fixed: 3039189
When SAE authentication fails due to some reason and if the
failure is detected while processing confirm request from the
station, some APs send deauth instead of confirm response.
Current driver/wpa_suplicant wait for the confirm response and
driver drops the deauth frame as it's in the middle of SAE
authentication. This results in connect timeout.
Driver is supposed to process the deauth from AP and indicate
failure to userspace. To resolve this, consider the deauth from AP
as SAE failure and abort the connection. Send connect failure to
userspace.
CRs-Fixed: 3157178
Change-Id: I09c9d8b19539e4986665c6052d3a7f52b3e49600
Currently min_dwell_time_6g ini support is there only for normal
scan.
Added support to configure min_dwell_time_6g in roam offload scan.
Change-Id: I7da5fff738dbaf2a28a909e58ab6c797724ccfaf
CRs-Fixed: 3156597
Currently during fisa flow aggregation REO ID check is done to
make sure all the flow packets are received in same REO and to avoid
out of order reception. But if RX packet matches CCE rules REO ID
is selected based on CCE rules since they have higher priority.
In this case ignore RX packet for FISA aggregation and do not panic.
Change-Id: I09b5c9fc4ecff7223d0034921e8923776ae4bf3b
CRs-Fixed: 3153104
In dual SAP connection, calls only disable_pipes to disable IPA,
whereas during second SAP disconnection, to enable IPA, calls
wlan_ipa_uc_handle_first_con, which sends ipa_set_active MSG
as true to FW, for both Tx/Rx to resume.
So calling wlan_ipa_uc_handle_last_discon in dual SAP mode,
which sends ipa_set_active MSG as false to FW, to suspend.
Change-Id: I224e94a003030f497e15f242634f15d9c71b9ef0
CRs-Fixed: 3094276
Fix hdd_ctx null pointer derefernce issue in hdd bus suspend
related code by addition of hdd_ctx null check before its use.
Change-Id: Iea92dcdf8591e61853af233f8e28fe7e0f9ec4bf
CRs-Fixed: 3144126
Set nan_separate_iface_support flag in FTM mode to avoid
create NAN vdev in FTM mode. This helps in FTM mode test cases
where max supported vdevs are used.
Change-Id: Ia628655a87505db787043ef29dd18d259052b521
CRs-Fixed: 2888703