Change HDD layer to use WLAN_OSIF_P2P_ID reference count
dbg id for vdev reference count acquire/release when process
p2p request.
Change-Id: I485ca13d37d3440b8aee75ced7fba75ff24efbd1
CRs-Fixed: 2813935
Change HDD layer to use WLAN_OSIF_OCB_ID reference count
dbg id for vdev reference count acquire/release when process
OCB request.
Change-Id: Ia6aabc3c3f41fa0f52cf626c99143f3b9682d35e
CRs-Fixed: 2813939
Add new hdd_objmgr_get/put_vdev_by_user to include user id(reference
count dbg id) to help identify the ownership of the ref count.
The old hdd_objmgr_get_vdev api is deprecated. And it will be removed
once all of the reference to it replaced by new API.
Change-Id: Ibd6528083d725a5930cece96ed3268b27e5263b9
CRs-Fixed: 2804993
Add check in function 'policy_mgr_get_sbs_channels' to restrict the
array index out of bounds.
Change-Id: I387b666095107faf284e35f073dfe856d38323d3
CRs-Fixed: 2776966
Some pointers returned from functions may be NULL, so fix these
issues to aviod some null pointer usage.
Change-Id: Ic2e801013d9edf1442b1317fe82718d2e89f9210
CRs-Fixed: 2772605
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2816598
Change-Id: Ide7e1cacb3752f8e9e5797629549079bf4ab8557
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2816598
Change-Id: I16fc2a3cdf675d35fb297ec62f4d3f5fb2cd4dd3
Vdev is NULL before completion of hdd disconnect process
Use hdd_objmgr_get_vdev() to get vdev reference and then pass it
to ucfg_if_mgr_deliver_event(). After using, release the
reference.
Change-Id: I683851a2b7b4376440637edc70b7fdaf71acfbd0
CRs-Fixed: 2812480
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2815522
Change-Id: Ibb17fb043d6addaf0fa86aeb882178ef27535162
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2815522
Change-Id: I735ba28f98a38e832ecb8781e39d5d8e134ad01f
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2815522
Change-Id: I8bc78db0276ad0c1547ae0e046d99bf749bd7125
On MDM platforms, STA only IPA offload is supported.
Therefore there'll be scenarios when STA is connected
and APPS is suspended, IPA offload traffic will still
flow through WLAN HW.
Thus define a feature flag FEATURE_STA_MODE_VOTE_LINK
and allow to vote link for STA mode on MDM platforms.
Change-Id: I5c7aa3b35e3cd56249a5b34996fcea538b0da69d
CRs-Fixed: 2803802
The UDP qos upgrade is skipped currently if the setting
from userspace is set to best effort. Also with the current
logic the priority of packets at "best effort" gets
downgraded to "background".
Fix the UDP qos upgrade logic to take care of using
the "background" priority value as a trigger to skip
UDP qos upgrade.
Change-Id: I5111a930995ddd71b082db95440ed778f09a3cba
CRs-Fixed: 2816426
Currently, sequence number of the authentication frame is cached
to detect if the same frame is received again. But in SAP case,
it's possible to get authentication frame from two different
clients with the same sequence number. Host driver drops auth
frame from the second station as it is considered as a
duplicate frame. Though the driver drops the frame only if it's
a retry, it's possible to get auth frame from second client with
same sequence number and retry bit set.
Cache the client mac address along with sequence number to
avoid this.
Change-Id: I194adc9e0f90d074aef50340d2cd6c7b138cc9b5
CRs-Fixed: 2815784
add CONFIG_QCN7605_PCIE_GOLBAL_RESET_SUPPORT
which is used to support Genoa Pcie Global Reset
this feature only used for 3rd party platform
which do not support hardware reset by toogle WLAN_EN pin
Change-Id: I0fa356e362ebafe18378e0a803bf3f4a00c77628
A race condition is observed when runtime suspend is aborted
due to pending TX packets but context switch happened and pm_state
did not revert to active state yet. In parallel, WMI_PEER_DELETE
command is queued but not sent as pm_state is still in suspending
state.
To fix this, schedule HTC queue kicker work to resend pending
commands again after dp_runtime_suspend aborts due
to pending TX packets.
Change-Id: I6d2c4140a4635c0aec304f48b15fb2b539ac39ea
CRs-Fixed: 2813657
In case of STA + SAP/GO, Driver fist disable roaming on all
adapters before bss start and enable roaming after start bss
(SAP/GO) in case of failure/success.
Due to commit I4870c69a0e0ca1e8cad734a591f09e402b7a32fa,
Driver fails to re-enable roaming after failure/success
of SAP/GO process.
Fix is to enable roaming after start bss in case of
failure/success.
Change-Id: Ibe90f0685f41984a5841859ea96834f7760ff9a1
CRs-Fixed: 2811306
Currently the adapter features update work is created only
for the STA types of interfaces, since this feature is only
used for STA mode. But this can cause an issue when a SAP
interface is changed to STA runtime, since the workqueue will
not be initialized (since create adapter was of SAP type) but
it will be attempted to be destroyed (since the adapter is of
STA type) during the cleanup of adapter.
The creation/destruction of this workqueue cannot be done
in the start/stop adapter, since the rtnl lock will be held
during this operation and the cancelling of the adapter features
workqueue can cause it to wait on rtnl lock, leading to a
possible scenario of a deadlock.
Hence as a mitigation for this issue, we create the adapter
features update workqueue for all the interfaces and clean it
up for all the interfaces as well.
Change-Id: I598480e9f248f50e46764f7f32b876a8efaeee8d
CRs-Fixed: 2811934
Currently the driver does not have a support to
filter out the 6ghz frequencies from the valid freq
list, and hence there is a high chance of selecting
the 6ghz freq as an operating freq for SAP, which
the legacy clients won't be able to scan.
Fix is to add a support for filtering out the 6ghz
frequencies from the valid freq list.
Change-Id: I3c32b4c8c5b93eae04d49d2d5b6bd4ec9852c2a9
CRs-Fixed: 2808350
Prior to the kernel version4.7 struct ieee80211_channel used enum
ieee80211_band. Beginning with kernel version4.7 struct ieee80211_channel
use enum nl80211_band. So there is an issue of typecasting of the channel
band parameter.
To resolve the above issue a helper function is added to typecast the band
parameter according to the kernel version.
Change-Id: I1af692bb7cae5ab2e71556128ce672c6b145f92f
CRs-Fixed: 2815201
As part of power optimization to club LL and get stats request add
a debug log to indicate when cached get station stats is getting
returned to user space.
Change-Id: Id1f80e1589c1913d0129b435cd2bdbd807800230
CRs-Fixed: 2814701
Currently if peer client supports the MCS12 and
MCS13 support in assoc request then also DUT(as SAP)
is not sending the QCN IE in assoc response.
This results into the low Tput as peer client uses
only rates till MCS11.
To fix this issue, send the QCN IE with MCS12 and
MCS13 support in assoc response if peer client
supports it.
CRs-Fixed: 2814863
Change-Id: I17c16705b5a015e1dd22849212a19365ac78acaa
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2814480
Change-Id: I1459d7af76b19614775e0a5b0982a2ca0fbdb935
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2814471
Change-Id: I70351edc06db00171270369a91589b0d9409f70a
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
CRs-Fixed: 2813747
Change-Id: I025b5882f86b0b9f52e5ac903b873c06c458d07c
When host receives ap capability change indication,
internal disconnection is triggered from csr without
sending stop roaming (RSO stop) to fw. So in STA+STA
scenario, after connection on 1st sta, roaming will
be enabled on 2nd sta, but since RSO stop was not sent
on 1st sta, firmware will assert as btm offload is not
disabled at the 1st STA.
Disable roaming first, followed by vdev stop/vdev down to
firmware.
Change-Id: I183b590b36ecfd81150bb59c33c4752c718c93ba
CRs-Fixed: 2798081
Currently for ll stats host fill country information from
mac context which is not updated with latest country information.
To address above issue use correct api to fill country info
for ll stats.
Change-Id: I744b172cf935e44568b9ee902a97275887e45001
CRs-Fixed: 2805196
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the btm response.
This helps to debug the scenario when roam failure happen.
Print the info received related to roam scan type & roam status
info into kmsg.
Change-Id: Idd688eb4d1e699573fa1e243873c30ffdc5bf96f
CRs-Fixed: 2794555