The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation so rename typedef pIbssPeerInfoCb to be compliant.
Change-Id: I2a2ab001ec6af392680810443bc971c56130f452
CRs-Fixed: 2400317
The Linux Coding Style frowns upon mixed-case names so rename
currDeviceMode in struct sme_context to be compliant.
Change-Id: I26ca94487c4f037098e06f0dd820360d90cb276b
CRs-Fixed: 2400316
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation so rename pAutoShutdownNotificationCb in tSmeStruct
to be in compliance.
Change-Id: I0cc79b5f9687e039f9f0be5ff976c27194d9a138
CRs-Fixed: 2400336
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirAutoShutdownCmdParams
typedef does not meet any of those criteria, so replace it with a
properly named struct.
Change-Id: Ia15a4cb0cfd3ef8868aaa7eaa77cd5dbb44423d0
CRs-Fixed: 2400334
Currently when an auto-shutdown timer event is handled by WMA it
allocates a tSirAutoShutdownEvtParams struct which is then passed as
the payload of a eWNI_SME_AUTO_SHUTDOWN_IND message. However when this
message is processed by SME the payload is ignored since the callback
to HDD does not require it. Therefore it is pointless for WMA to
allocate and fill a payload which SME will ignore, so remove that
aspect of the auto-shutdown timer event handling.
Change-Id: Ibb1e1122c2e29c9369c1d1119d58d15fe9b93159
CRs-Fixed: 2400335
Driver multiplies the supplicant requested roc duration by either
6 or 10 times and then requests FW roc of that much duration.
This is because to extend the roc after rx frame is received.
Currently, host is initializing the internal roc timer for the
duration same as requested to FW.
In such case we cannot extend the roc as currently there is only check
for timer running, but not the remaining time. And FW may give
scan completion event immediately after sending the tx frame.
Change-Id: Ib864949d232c31422f83d78bd6b318cadbf13366
CRs-Fixed: 2397924
The Linux Coding Style frowns upon mixed-case names so rename
smeCmdFreeList in struct sme_context to be compliant.
Change-Id: I8f006bf10f7476b16fca8b251b076ec007134e98
CRs-Fixed: 2400315
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename pSmeCmdBufAddr in struct sme_context
to be compliant.
Change-Id: I79fbbaa82d6106dad168f60839b2ac37c80af5c6
CRs-Fixed: 2400314
The Linux Coding Style frowns upon mixed-case names, so rename
totalSmeCmd in struct sme_context to be compliant.
Change-Id: If25c57423db261a314f1ad2d438ffeeeadce3d89
CRs-Fixed: 2400313
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename lkSmeGlobalLock in struct sme_context
to be compliant.
Change-Id: Id776753920b96114fd28624c9d080366f0bbbda8
CRs-Fixed: 2400312
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSmeStruct typedef does not
meet any of those criteria, so replace it (and the "tp" variant) with
a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct tagSmeStruct to be in compliance.
Change-Id: Ia817cc5d2b91a7cbddf4670edd049408deb71f63
CRs-Fixed: 2400311
For now IPA SMMU can only work on ICNSS platform.
Add support for IPA SMMU feature on CNSS platform.
CRs-Fixed: 2286287
Change-Id: I6515d6ec764659f1aeefa50d9fd0b120c47b36bf
The driver currently defines two different data structures to hold
DHCP Server Offload configuration:
- typedef tSirDhcpSrvOffloadInfo
- struct dhcp_offload_info_params
To align with the converged software architecture as well as the Linux
coding style remove the legacy typedef and exclusively use the unified
WMI structure.
Change-Id: Ia2b537a917bbe9e36ba4bc3b289e8c2e9ec630d6
CRs-Fixed: 2399938
When the DHCP_SERVER_OFFLOAD feature is enabled the driver does not
build, so address the build issues.
Change-Id: I42103afd91c4bed2d04f22bdb6159e286ff12fa0
CRs-Fixed: 2399937
When the driver gets virtual interface delete, as part
of change interface, stop bss cmd is queued, and when
the command is processed by LIM layer, it deletes all
the peers and sends the disassociation frame.
It may happen that at the same time the peer which was
associated to the SAP sent a disassoc before it got the
same from the SAP.
That disassoc frame would also the queued, and processed
after the stop bss command is done. When the command of
disassoc frame from the peer is processed, the peer is
searched in the session, but since the stop bss has already
been processed, and the peer is deleted, the driver won't be
able to find the peer, hence will drop the command process.
Since the command process was dropped, but command was still
in the active list, timeout would happen in the serialization
module, and the remaining commands in the pending list would
not be processed.
Fix is to flush all the peers and send disassoc frame before
the stop bss cmd is put in a serialization list, to avoid this
race condition.
Change-Id: Ideefbca5b250a24e29b66122fd32019cf7441f30
CRs-Fixed: 2399221
Packetdump invokes legacy data path API directly without
considering underlying HW:
1. ol_register_packetdump_callback
2. ol_deregister_packetdump_callback
Global pointer pdev_txrx_ctx will be casted to struct ol_txrx_pdev_t
always even Lithium (use struct dp_pdev) underlying, and overwrite
struct dp_pdev unexpected.
Wrap with cdp API to avoid.
Change-Id: I4f587c5378726b7cc4b340760f1112b054610da1
CRs-Fixed: 2400472
Legacy WNI CFG items are refactored into new CFG implementation.
PMO uses a wma callback which uses cfg_get API to get listen
interval. Listen interval is now part of the MLME component's
private object. Define API's to get this value and use it instead
of the callbacks.
Remove WMA callback implementation and use new API that gets
listen interval from MLME component.
Change-Id: I797001ea14cc654f9daee3ce297e1ad0c0a08f2a
CRs-Fixed: 2386725
Currently the TDLS component code is unconditionally built which will
bloat images where TDLS is not required. Fix this by only building the
TDLS component when the TDLS feature is enabled.
Change-Id: I7496b8f07ed495b00e62fc3cf50a96e1829d9341
CRs-Fixed: 2399966
Correct embedded documentation for the ipwriv
commands, set_btc_mode and set_btc_rssi.
CRs-Fixed: 2396490
Change-Id: I77f93510885352d766eb581769502cdc87422a77
Add ini to support partial and full bandwifth feature of UL MU-MIMO.
0-> no support
1-> partial bandwidth
2-> full and partial bandwidth
Change-Id: I94b2c8e525795a32a923e75f0650742f806dfcd5
CRs-Fixed: 2397536
In case SAP+P2PGO+STA interface are present, with SAP in down state
and STA in conencted state and P2PGO is started, it uses API
policy_mgr_concurrent_beaconing_sessions_running checks if multiple
beaconing interface are present to force the P2PGO to SCC or DBS
channel and as SAP and P2PGO interface are present it returns true.
Now the API to get concurrent channel get the channel of STA
which is active and thus P2PGO moves to STA channel.
Thus use the api to get channel for concurrent beaconing interface
instead of any interface to take care of beaconing interface
concurrency scenareos. With this concurrent channel will be non 0 only
if any other beaconing entity is present and in up state and thus
P2PGO will move to SCC or DBS only in case any other beaconing
interface is actually up and beaconing on a channel.
Change-Id: Ic4bacc8cc45386499c11e09e79d095e926318400
CRs-Fixed: 2395530
pld_snoc_get_soc_info() stack allocates a icnss_soc_info struct before
populating its contents via a call to icnss_get_soc_info(). However,
icnss_get_soc_info() may not populate all of the fields of the struct.
Zero-initialize the struct before passing it to icnss_get_soc_info() to
avoid using any uninitialized values.
Change-Id: I859a880c9fb8483b66e17ded2857634ab878977a
CRs-Fixed: 2396653
Now that qdf_status_to_os_return() has moved to qdf_status.h in
Iaa2efa5f662be014a61a8490c3fab411ec0f2054, remove references to
qdf_util.h from osif_sync.
Change-Id: I42e70c8ac1a29ebba6d00994a12b96076684c403
CRs-Fixed: 2397508
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.
As part of integrating the DSC APIs into HDD, protect pre-CAC vdev
create and destroy.
Change-Id: I8f597fca2ccd908e358475abf360feefeac7db4d
CRs-Fixed: 2397319
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.
As part of integrating the DSC APIs into HDD, protect vdev up, down, and
mode change.
Change-Id: Ie6c8df3e4166bbfed5496b474bc49ecdb9a8ca91
CRs-Fixed: 2397318
By design, when APF is supported by target, RA filtering need
not be configured. Legacy code handled this by passing INI value
of RA rate limit value to WMA and intersecting it with APF
enabled flag. Change Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
replaced this implementation by a single check in PMO. So remove
the WMA legacy code since it has no purpose now. Also remove
unused PMO prototypes pmo_update_ra_limit and
pmo_update_target_service.
Cleaunp the WMA code that intersects RA rate limit and APF
variables.
Change-Id: I870a1271a627d47242000f5e04068e628f567216
CRs-Fixed: 2379745
Currently the driver has the default ini of
PCL policy to select SAP channel as optional,
which leads to ACS on a band where the STA is
present, hence a waste of time, because SAP anyways
has to move to STA channel.
Fix is to make the PCL mandatory, so that the driver
doesn't waste time in ACS, and returns the best channel
of STA, to turn on hotspot fast.
Change-Id: Id9d3dd60e93c9df9e3c65ad8583d8d90058094f8
CRs-Fixed: 2395581
Session_id in __wlan_ipa_wlan_evt is used as an index
to access the array ipa_ctx->vdev_to_iface[].
Add sanity check for session_id to avoid invalid access.
Change-Id: Ie6079924c4772c3fa892b4537120db136a899885
CRs-Fixed: 2395162