Implement the usage of MLME CFG infra for BSS Scoring related INI Items
and remove the older INI definitions from HDD.
Change-Id: I0db69138f0439131916a38176b5b21b706ff3671
CRs-Fixed: 2318320
Currently, the return value of get_wmi_unified_hdl_from_psoc() API
is passing directly as argument to some functions without checking
the return value for NULL which may cause NULL pointer dereference.
To address this issue, add NULL checks for return value of
get_wmi_unified_hdl_from_psoc() API where ever it is getting used.
Change-id: I60e89b5305ad31d8663a8feed3cb0f71105bb060
CRs-Fixed: 2316868
Define mlme lfr configures based on converged cfg component, add
APIs to get and set mlme lfr configurations.
Change-Id: I8aa9b37d1b943fcdc6a84704ede37b19cd7cffb8
CRs-Fixed: 2316490
Add the MBO ini configs to mlme for the following:
1. CFG_MBO_CANDIDATE_RSSI_THRESHOLD
2. CFG_MBO_CURRENT_RSSI_THRESHOLD
3. CFG_MBO_CUR_RSSI_MCC_THRESHOLD
4. CFG_MBO_CAND_RSSI_BTC_THRESHOLD
Change-Id: I9e779c912538973c8281170ec8c212a4f05b7e2e
CRs-Fixed: 2314168
This change Removes legacy APIs to modify vdev state machine and
add use new API to get vdev state.
Change-Id: I48aa3744dafc6d13a43a14e48de821c7dadf3a37
CRs-Fixed: 2314730
Define mlme sta configures based on converged cfg component, add
APIs to get and set mlme sta configurations.
Change-Id: I1a03037081ebe27760d23405adc3cc9042ba7698
CRs-Fixed: 2312002
Remove the legacy INI code from hdd_cfg. Replace the existing
access from hdd_config with new mlme api.
Change-Id: Iddde15330c1ad39a59bd9a3c7ea86af971df61b5
CRs-Fixed: 2313296
IPA driver calling WLAN driver callback, and in parallel WLAN
driver is unloading and freeing this callback, which leads to
a use after free scenario
Add SSR protection wrapper to all of IPA callback APIs in driver
to avoid racing against driver unload or SSR or self recovery
Change-Id: I5dcdfe4749b89104ec79eac060e60fe5aa7c2335
Crs-Fixed: 2307365
This is for adding support for FW offload component. It is responsible
to offload all the ini params that are needed by the firmware. To have
this component, the new files added are
components/fw_offload/dispatcher/inc/cfg_fwol.h
components/fw_offload/dispatcher/inc/wlan_fwol_ucfg_api.h
components/fw_offload/dispatcher/src/wlan_fwol_ucfg_api.c
components/fw_offload/core/inc/wlan_fw_offload_main.h
components/fw_offload/core/src/wlan_fw_offload_main.c
components/fw_offload/dispatcher/inc/wlan_fw_offload_public_struct.h
The fw_offload_main.h is to take care of the public APIs for the
component. The corresponding .c file implements the init/deinit of
the component. The fw_offload_public_struct.h is to define the public
structures needed. The ucfg files are for the APIs that can be called
from other components. The cfg_fwol stores the INIs and CFGs.
Change-Id: I4405b87e6dec15aa94146f8ec550078c3d03b1e6
CRs-Fixed: 2307837
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.
Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
Add the following chainmask INI configs to MLME cfg:
1. CFG_VHT_ENABLE_1x1_TX_CHAINMASK,
2. CFG_VHT_ENABLE_1x1_RX_CHAINMASK,
3. CFG_TX_CHAIN_MASK_CCK,
4. CFG_TX_CHAIN_MASK_1SS,
5. CFG_11B_NUM_TX_CHAIN_NAME,
6. CFG_11AG_NUM_TX_CHAIN_NAME,
7. CFG_TX_CHAIN_MASK_2G_NAME,
8. CFG_RX_CHAIN_MASK_2G_NAME,
9. CFG_TX_CHAIN_MASK_5G_NAME,
10. CFG_RX_CHAIN_MASK_5G_NAME
Introduce the basic infra APIs related to these configs from mlme
Change-Id: I56b56fe9ba5282b459bc03587c2cacbf91b12af3
CRs-Fixed: 2310381
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I869e14830b2f57b951033ada5957594fac7bc4c2
CRs-Fixed: 2305994
Add the following SAP/STA protection ini and cfg parameters to MLME cfg:
CFG_PROTECTION_ENABLED - CFG
CFG_FORCE_POLICY_PROTECTION - CFG
CFG_IGNORE_PEER_HT_MODE_NAME - INI
Change-Id: I3763d62c6aa4ae79a5a31dfac248e8367b6369ad
CRs-Fixed: 2310378
Add debugfs entry to get offload info (mc addr list, arp, ns etc.,)
for STA interface.
Change-Id: I8bf4491929b5ef04ed5ce19f4b0030945f0eb0c0
CRs-Fixed: 2203786
Fixed the naming conventions of APIs and files for MLME component.
Internal MLME component only APIs are in wlan_mlme_main.h/c files
under core.
APIs exposed to other components are in wlan_mlme_api.h/c files
under dispatcher.
APIs exposed to HDD are in wlan_mlme_ucfg_api.h/c files
under dispatcher.
mlme_init/deinit, mlme_psoc_open/close are called from HDD,
so made that as ucfg APIs.
Change-Id: I049008ceaa86ca52acd3ad9a02f903a732117d1f
CRs-Fixed: 2309276
When AP_DISCONNECT event occurs during IPA resource unloading
in progress, unload time out can happen due to IPA driver taking
time in suspending pipes or delay in FW HTT responses. In such
case events are added to pending queue. Pending queue events are
executed in worker thread context when resource unload is complete.
There is possibility of delay in scheduling of worker thread. When
worker thread is scheduled after HOST sends VDEV DELETE to FW and
processing of AP_DISCONNECT pening event will leads to FW assert.
Reason is as part of AP_DISCONNECT host sends IPA OFFLOAD disable
to FW on deleted vdev id. So send IPA RX offload disable command to
FW when AP_DISCONNECT is added to pending queue.
Change-Id: Ib24deb7654496ec60a3e56b8a9d1e1bd2d8c2db5
CRs-Fixed: 2295105
In target_if_action_oui_send_req(), there is no NULL check against
return value of GET_WMI_HDL_FROM_PSOC() which can result in NULL
pointer exception. Therefore, add NULL check.
Change-Id: Ibbc4fdf03563496b9d5dac63141921dd8bdea4fa
CRs-Fixed: 2299793
Add support for wildcard OUI 0xFFFFFF in action OUI framework.
When the OUI FFFFFF is defined for some action OUI ini and bit 0
of info_presence bit is set to 0 then the check for vendor OUI
in vendor specific IEs and the vendor IE data checks are skipped
and other checks like MAC, Capabilities are done during connection.
Change-Id: I6e996c5d79f4f7bd91e11134b1b8ba69a1ff0253
CRs-Fixed: 2293167
Add the basic infra for MLME CFG items and the APIs to be used from
other components.
Change-Id: I39654de8f7266089d574b85437a19e8d21f91249
CRs-Fixed: 2293825
Remove the debug assert added in wlan_ipa_uc_disable_pipes when
the check for IPA pipes disabled is true. Anyway logging is in
place to give information about the scenario.
Change-Id: If2906f0ee827e84df4594693702064cd249c564c
CRs-Fixed: 2295461
Update driver to use NAN config params based converged CFG
component. Cleanup hdd config references to nan ini params.
Change-Id: I5af85d68ee53ad557e64523f7a1719e328536926
CRs-fixed: 2290360
Add support for new 1x1 connect with 1 Tx/Rx Chain action OUI to be
parsed and sent to the FW. From host during connection, the behaviour
is same as existing connect 1x1 action OUI where nss is sent to 1 to
the FW, but the FW takes the decision to use only one Tx/Rx chain
based on the OUIs defined in the new action ID.
Change-Id: Ia464209043dc73bcc71577c43b28fbe13e780c23
CRs-Fixed: 2264326
FW assert is observed when HTT_WDI_IPA_OPCODE_TX_SUSPEND is sent twice
in a row. Issue is that CLIENT_DISCONNECT and AP_DISCONNECT could both
trigger IPA deactivation when CLIENT_DISCONNECT is poped from pending
queue and in another thread AP_DISCONNECT event arrives.
Fix is to add check for resource_unloading flag and if resource_unloading
is set to true, IPA deactivation is ignored since deactivation is already
undergoing.
Change-Id: I68a245809e263ce396b910c4cc3d4e6b071812c0
CRs-Fixed: 2288941
Several logs show up repeatedly in dmesg. Reduce the following logs to
help avoid spamming dmesg:
* wlan_ipa_wdi_meter_notifier_cb()
* hdd_print_netdev_txq_status()
* hdd_wlan_start_modules()
* hdd_wlan_stop_modules()
* csr_nonscan_pending_ll_peek_head()
* sme_qos_statustype()
Change-Id: Ic5ca059f258dee92ffaa4b0ecca47df41b424c11
CRs-Fixed: 2292710
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.
APIs are divided into two categories: mutual exclusion of conflicting
transitions, and operation tracking, blocking, and waiting capabilities.
For part 5, add the unit test implementations.
Change-Id: Ia68d6df18894b254c1f5fe3855d896e96be38a90
CRs-Fixed: 2290260
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.
APIs are divided into two categories: mutual exclusion of conflicting
transitions, and operation tracking, blocking, and waiting capabilities.
For part 4, add the vdev-level implementation.
Change-Id: I3f5ef0f7abf24a45d757d286d450ef086640c56a
CRs-Fixed: 2290260
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.
APIs are divided into two categories: mutual exclusion of conflicting
transitions, and operation tracking, blocking, and waiting capabilities.
For part 3, add the psoc-level implementation.
Change-Id: I30406c61e89cc220a2697e13f38289554985a7bf
CRs-Fixed: 2290260
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.
APIs are divided into two categories: mutual exclusion of conflicting
transitions, and operation tracking, blocking, and waiting capabilities.
For part 2, add the driver-level implementation.
Change-Id: I86630edfe11e89cc035974ae76ed3908cf68cde4
CRs-Fixed: 2290260
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.
APIs are divided into two categories: mutual exclusion of conflicting
transitions, and operation tracking, blocking, and waiting capabilities.
For part 1, add common infrastructure and headers.
Change-Id: Id290e66d2dccd28b89fed5f285d3692ff3c814e7
CRs-Fixed: 2290260
A number of HDD and IPA logs are generally unnecessary and have been
identified as contributing to log spam. Reduce these log messages to the
debug level.
Change-Id: I2f92bb4caec5adc65fdad0146298aa5f88b43def
CRs-Fixed: 2288430
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: Id808fef623b82cec38fc31071ef384f3ff0c92da
CRs-Fixed: 2278874
When wlan driver unloading is in progress, IPA_OPCODE_TX/RX_SUSPEND
will not be processed and resource_unloading may be left as true.
Moroever since driver will be unloaded, IPA_OPCODE_TX/RX_SUSPEND
interaction between Host and FW will not be necessary.
Fix is to disable IPA pipes directly when handling disconnection
if wlan driver unloading is in progress.
Change-Id: Ia4af1ab04052b1a9bab44105760de50ad6263dbb
CRs-Fixed: 2279044
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required.
Change-Id: I0c6cd633705e820fcfeb47e3f81a3522c9ef1974
CRs-Fixed: 2274850
Add support for action OUI extensions which can be used by station
to control mode of connection, connected AP's in-activity time and
Tx rate etc.,
Change-Id: Ie85e29c4b0ed7ac2815709d7a4e607c4ba46c6ca
CRs-Fixed: 2254502
Currently, errors are logged if a given offload feature is disabled
while suspending the wlan driver. Instead, simply return success for the
configuration of those features which are disabled, since nothing needs
to be done. This also has the side effect of avoiding meaningless error
logs for situations which are not error conditions.
Change-Id: I1d897d8db066e642e1cc6e77daff0f44172cefe8
CRs-Fixed: 2282040
Multicast address filtering only makes sense if the interface is
connected and capable of receiving traffic. Avoid enabling/disabling
the multicast address filter list on an interface that is disconnected.
Change-Id: Id8aff136e920bb726b8c7dd539d477ff44f080d4
CRs-Fixed: 2282003
Currently the host sends the fixed gtk offload params
and the FILS TLV params, even when the FILS feature is disabled
in the host, which force firmware to pick the KEK from the
FILS TLV structure rather than from the fixed param structure,
which further leads to GTK re-keying feature fail.
Fix is to send only the fixed params in case when host doesnt
supports FILS.
Change-Id: I5b3b3fd503c7cb9c4d7933074fd483086b113204
CRs-Fixed: 2244725