NDPs can exist on an NDI only when the NAN discovery is active.
Currently, firmware sends NDP_END indication for all NDPs when NAN
is disabled. Host driver removes the NDI entry from the policy mgr
based on these NDP_END indications. But firmware might miss to send
the NDP_END indication in some cases though the NDPs are deleted
in firmware. This leads to stale NDI entries in the policy mgr and
it prevents STA connections as NDI+STA without NAN discovery is not
a valid concurrency.
Host driver can remove all NDPs before sending NAN disable request
to firmware to avoid this. This is a blocking call in driver and
wait for the NDP_HOST_UPDATE event from firmware. Cleanup the policy
mgr entries in timeout case as well to avoid further failures due
to unsupported concurrency.
Change-Id: I8df905b7ae4cfe5dfb5affe5b6a3fd478851a453
CRs-Fixed: 2774329
Add statistics if the packets of the flow are coming on
a different REO than the one configured. This would help
in debugging the race conditions where the packets of the
same flow arrive on different REO rings.
Change-Id: Ifc52dd595b7e308d8a0c233768015af45f485b15
CRs-Fixed: 2770886
Auto BMPS timer is not running for STA, connected
using wpa_cli in open mode. This will lead STA not
entering in power save mode.
Running auto bmps timer for station connected via
CLI in Open mode after association completion.
Change-Id: I38ac5f89c3b9bddf6f25800be5979698f6a59de7
CRs-Fixed: 2765315
Add logic to pre-allocate DP consistent memory and reuse later.
Only SRNG memory is preallocated. This is useful to prevent memory
allocation failures due to fragmentation over cycles of WLAN ON/OFF.
Change-Id: I1f814f9f18d482eb5f55e0b157606d1792e665f8
CRs-Fixed: 2740424
Currently for Open mode, the install key command is not allowed
but usually set key with 0 length is sent in open mode and in
set key response path the OBSS scan is configured to firmware.
So send dummy response for install key command to go for open
mode connection.
Change-Id: Ia3665ca018114bbf354b8c3138a7c4d81f7f9707
CRs-Fixed: 2769414
Memory allocated in ipa_config_mem_alloc during
wlan startup, but it is not freed in error handler
path. Add ipa config free in error handler path.
Change-Id: Icc86a9c65220f86897481107e8d81cfd87058fa2
CRs-Fixed: 2770385
Change ucfg_tdls_notify_connect_failure() API as a
wrapper to a new API wlan_tdls_notify_connect_failure()
which in turn calls the core API.
Change-Id: I998669f9c829cb91e21b359ba794f396214854e2
CRs-Fixed: 2767682
Remove band dependent code in iw_get_channel_list, use
existing ucfg api ucfg_reg_get_current_chan_list to get
the current channel list.
CRs-Fixed: 2773016
Change-Id: Ie650620476a35852456d91363cc7360cb1549f40
Add disconnect start and disconnect complete event handlers to
the interface manager.
Add disable roaming, enable roaming on connnected STA, and
enable roaming after P2P disconnect APIs.
This change is part of the connection manager effort.
Change-Id: Ib68b9ef9ff5b6541d7393bfbe6332a68b17bd587
CRs-fixed: 2760090
WMA module wants to insert recored in the global qdf trace
record table but qdf trace does not allow to insert the trace
record for a module if that module is not registered with the
qdf trace.
To address above issue, register WMA module with the qdf trace.
Change-Id: I5520beaacdb3aeb57c2f46a36766b4f9a73a4e0c
CRs-Fixed: 2719693
Driver maintains a global list of messages (qdf trace) which
different modules posts to each other. If required, this list
can be processed with the help of post processing cmm script.
Currently some of the message types are defined as macros and
these macros can not be used directly in the post processing
cmm script. Enums are much more easy to process with the help
of the cmm script.
To address above issue below fixes are done with this change:
1. Assign enum name to pe message types, lim message types,
sme message type.
2. Change MLM message type from macros to enum type.
3. Change WMA message type from macros to enum type.
Change-Id: Ibd91a5371457a542cd141f680dda44a48b6f7d98
CRs-Fixed: 2719698
Currently pmo disable run time pm offload api gets the vdev
inside psoc obj lock but tries to take the reference of
vdev without any lock protection, in this case it is possible
that one thread gets the vdev and when it troes to get the vdev
reference some other thread deletes the vdev because if which
first thread will not be able to get the reference for the vdev
which it alreaady holds.
To address above issue use objmgr api to get the vdev.
Change-Id: I8f47515f39ace809cfe9e134fd704a2914ed3d9a
CRs-Fixed: 2769887
Roaming is handled by scheduler thread which has lower priority
than kworker thread. Periodic stats are printed in kworker thread.
Since handling roaming is a higher priority job, skip printing
periodic stats so that scheduler thread can be given extra time
slot to process roaming.
Change-Id: I444bdf1df51da2f80111fabd84d19584bd715ae3
CRs-Fixed: 2768360
In ht monitor mode, mcs data rate is not correctly populated in
radiotap header, so if ht_flag is set, assign mcs value to ht_mcs
to fix it.
Change-Id: If428275671068b31ae1367244c62bc4cac25a2af
CRs-Fixed: 2772405
Currently, the QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS
attribute is not present in the nla policy structure.
Change-Id: Ibbbd8bb7cf9cb3a814564cb9022795e34a5a11b0
CRs-Fixed: 2755706
If STA is on 5G channel, starting P2P GO on a different 5G DFS channel
should be rejected, but it's not, due to it didn't check the P2P GO
specific configurations, but only check the one for SAP.
To fix it, use P2P GO specific API to check the force scc status
for P2P GO mode.
CRs-Fixed: 2769182
Change-Id: Ibb3bb5e6e7f8a64e4483bdef863ce1f4294da9eb
If FW asserts before cfg80211 resume, cfg80211 resume will skip calling RTPM
put, which finally results a usage count mismatch. To fix it move RTPM put call
at the beginning of cfg80211 resume to make sure its always called and RTPM usage
count is in sync.
Change-Id: If0c9fbe094de16d103cd58ed4db3b08b76adb3cf
CRs-Fixed: 2728742
In wmi_fill_rso_start_scan_tlv(), the fixed param header is
overwritten with 0. So this causes roam scan mode command to
fail.
Don't overwrite scan start fixed param in
wmi_fill_rso_start_scan_tlv(). Also add some additional debugs.
Change-Id: I8ae7053e77d5694bade7e4a84fb4028d8224354c
CRs-Fixed: 2771951
Previous Logic:
Once a beacon report req is received, dut sta scans one channel
at a time & report immediately, then move to next channel.This
logic adds some additional delay as scan request and beacon
reporting will be done every channel.
New Logic:
Once a beacon report req is received, dut sta issue sta including
all the valid frequencies in the scan filter so that only single
scan req should be sent to FW.
After the scan is completed for all the channels, populate the
results so that it can be transmitted via beacon report.
Further, in sme_rrm_scan_request_callback, the logic to compute
valid_result was removed as even if RRM scan response is
received after roaming to different AP, the message shall be
posted to PE for rrm cleanup.
Change-Id: I48cb3106e35fb9a441a44a160a6ee6f75f64b81b
CRs-Fixed: 2770859