During SSR case in wlan_hdd_stop_modules(), ol_txrx_pdev_pre_detach()
cleanup the peer forcibly. Later RX Thread is getting closed as part
of cds_sched_close(). So chances of accessing deleted peer is there.
Shutdown RX thread before doing ol_txrx_pdev_pre_detach() to avoid
the chances of accessing deleted peer.
Change-Id: Iae27262396d8245eeb7a9b39cb678fad14815260
CRs-Fixed: 2349994
The functionality provided by cds_rand_get_bytes() replicates
functionality provided by qdf_get_random_bytes(), so use
qdf_get_random_bytes().
Change-Id: I0b855556c9a9861c7067dfadaf0b8a4cdaf8709e
CRs-Fixed: 2366960
Currently in cds_config.h the macro MAX_PMKID_LEN is not used, and the
pmkid field in struct cds_fils_connection_info uses the "magic number"
16, so replace the magic number with the macro.
Change-Id: I11e7f55d43e5cdd3f222f54434a33c94654f2384
CRs-Fixed: 2366959
Modify the max tx power value form 22db to 30db
to cover regulatory power requirements.
Change-Id: Id24ed354ed364037ba0ff5dea9de9810fb255962
CRs-fixed: 2362060
Previously change If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25,
("qcacld-3.0: Add legacy DP CFG items and APIs") relocated support for
some datapath INI items from HDD to the legacy data path. As part of
this change some fields in struct cds_config_info are no longer being
used, so remove those fields.
Change-Id: I2ebcb5bd3964af7847b55d3d7300efd4823dc198
CRs-Fixed: 2363230
Previous change I8331367dd41dd0cedfa65c63f1bb3ffcb535e1c9
("qcacld-3.0: Call icnss API to check if WLAN FW is down") relocated
the source of firmware status from the wlan driver to the platform
driver. The legacy fw_state handling in CDS is no longer used, so
remove it.
Change-Id: Id8de0bd9441ecf7bb7e5931c503e16b62cbcfbf8
CRs-Fixed: 2363229
The functionality previously provided by struct cds_sme_cbacks has
been incorporated into the policy manager, and the struct is now
unused, so remove it.
Change-Id: Ia30cc18b5338073b9c96a29ca12b1383d31b4990
CRs-Fixed: 2363228
CDS contains a set of CDS_PKT_TRAC_* macros that were used by a prior
version of the driver. The current driver uses a different mechanism,
so remove the now unused CDS_PKT_TRAC_* macros.
Change-Id: I4f0e3a44e6786d3ed03e22807811878b2a187185
CRs-Fixed: 2362715
The cds_sched_context contains an ol_rx_queue_len field that is
unused, so remove it.
Change-Id: Ib2a03a61a19424f3cb41c975a886b12f674de247
CRs-Fixed: 2362714
In CDS there is a forward reference to struct hdd_context_s, However
this forward reference is not used, and in fact that struct name is no
longer in use in the driver, so remove it.
Change-Id: Iecf43870b22143f656bb9b8e413ae46c2f59bab4
CRs-Fixed: 2362713
The cds_packet infrastructure has been partially converted to QDF. As
a result some of the legacy definitions are no longer being used, so
remove them.
Change-Id: I6827c08c3f39da8b0a561d6c3e4fe6f7eb528a25
CRs-Fixed: 2362712
Change the policy & priority of RX thread to improve the RX throughput for
Specified platform.
Change-Id: Ie9df5de6f34d75264c4f3b7bdcb59ab92845a128
CRs-Fixed: 2354502
Since refined second part of LFR INIs, apply these changes in
SME/MAC/WMA layer.
Change-Id: I7994a9038d5bd094ce23bcd525ef8f5282974bfc
CRs-Fixed: 2346790
Initialize gp_cds_context->cfg_ctx before any error case happened and
goto err_wma_close. Otherwise, in wma_wmi_service_close, it's trying to
free uninitialized gp_cds_context->cfg_ctx.
Change-Id: I822ecf77676b9d638c414afb544fdb41d7b1d146
CRs-Fixed: 2355042
There is a window where wmi commands are reaching HTC while HTC is
getting stopped in other context irrespective of wma_wmi_stop() which
will lead to memory leaks.
To avoid this issue, flush all scheduler message queues before
proceeding to htc_stop.
Change-Id: I4d0742d7b9df6a9b0401fd4e840ff6a667d353da
CRs-Fixed: 2352291
There are currently multiple issues with sme_send_flush_logs_cmd_to_fw()
- Although this is an SME API the prototype is exposed in a CDS header
file
- The API is defined to take a mac context parameter which is unused
- Although the function returns QDF_STATUS, the only caller treats the
return value as an int errno
To address these issues
- Relocate the prototype to SME
- Remove the unused parameter
- Properly treat the return value as QDF_STATUS
Change-Id: Ia511565ee0b77148ee7cb1bf221e99a5b26ed446
CRs-Fixed: 2353530
QCA_CONFIG_SMP defined to support some thread scheduling features on
SMP target, while some variants defined only for SMP purpose are
referred out of this MACRO, like is_ol_rx_thread_suspended,
ol_rx_event_flag and ol_suspend_rx_event.
Defines separate functions for SMP/UP target to avoid it.
Change-Id: I01884644b7b77e55514cf00426609643386480e8
CRs-Fixed: 2344683
Add the basic infra for legacy DP CFG items and the APIs
to be used from other components.
Change-Id: If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25
CRs-Fixed: 2324099
To keep names of PMO ucfg APIs consistent, change some of them from
"pmo_ucfg_xxx" to "ucfg_pmo_xxx".
Change-Id: I77165be8c5c408c3f91f84a477c15be1c6ea15e8
CRs-Fixed: 2334109
Enable TSF for Adrastea arch on Vipertooth chip firstly and
expose TSF time mapping via file system
CRs-Fixed: 2320218
Change-Id: Ifda0d8035717ad21edb1a393ef32f1157ab59105
In __wlan_hdd_cfg80211_suspend_wlan(), suspend process is bailed out
if hdd_suspend_wlan() < 0 due to which RX thread waits for completion
of ol_resume_rx_event.
Do completion of ol_resume_rx_event in __wlan_hdd_cfg80211_suspend_wlan
for error path to resume RX thread.
Change-Id: I8bf056f82d80e063b2e32a1a6573d7a36ced67dc
CRs-Fixed: 2327238
Register recovering state query callback to common qdf
platform component to provide recovering state.
Change-Id: If5d1b30f0617d9f8cef41787da1e829a792105f8
CRs-Fixed: 2320797
Since refined PMO configures based on converged cfg component, apply
PMO configurations, remove related legacy codes.
Change-Id: I2cdf18c1000d8cc923c80c00bf530b2b0c60563e
CRs-Fixed: 2322185
Resume wlan threads during wlan shutdown process before adapter reset
because adapter reset triggers vdev destroy and vdev destroy sends
del sta self message to lower layers and in absence of wlan threads
this message will not be processed leading to timeout and vdev peer
object leak. Hence add fix to make sure wlan threads are resumed
before resetting adapters during wlan shutdown process.
Change-Id: Idc31b7e41e5d9734b5f6b96fba24948dbfb45c3d
CRs-Fixed: 2321503
QDF is effectively the driver's library for base primitives and data
structures, especially logging. As such, we want to initialize it as
early as possible in the driver loading process such that various
components can leverage this library code as much as possible. To this
end, move QDF init functionality into HDD from CDS, and invoke it first
thing in hdd_driver_load().
Change-Id: I769126ec293f741dced50c0dccc2f49e600aea43
CRs-Fixed: 2317861
If modem crashed during wlan driver unloading, icnss driver
will call driver uevent callback to set FW down status in
driver side when it receives BEFORE_SHUTDOWN notification.
If wlan driver is de-initialized just before the callback
is called, kernel will panic as driver's context is freed.
This can be avoid by not setting FW status in host driver.
Instead, icnss driver provides an API to host driver to
check FW status and host driver calls this API before any timeout
assert or accessing HW registers.
CRs-Fixed: 2161431
Change-Id: I8331367dd41dd0cedfa65c63f1bb3ffcb535e1c9
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
cds_is_module_state_transitioning() is effectively a partial
re-implementation of wlan_hdd_validate_context(). Instead of having
multiple copies of this logic, register a new callback in QDF which
simply calls wlan_hdd_validate_context() instead.
Change-Id: If533d72725b4cc9dbe5e4b9c25e499657c8e1376
CRs-Fixed: 2308771
If SAP receive unicast data from a non-assoc STA, SAP should send
deauth mgmt frame to this STA, add this part logic to serve data path.
Change-Id: I47346e751b89eda77f6d6450218e2b70fe6b4953
CRs-Fixed: 2298550
The error handling in cds_open(), in the event that the call to
dispatcher_psoc_open() fails, is currently empty. Add appropriate error
handing for this case by referencing cds_open() and cds_close().
Change-Id: I2b0d328e365efd67099bb8e6b529720c7b1904c5
CRs-Fixed: 2303785
The error handling in cds_open(), in the event that the call to
mac_open() fails, is currently stubbed out. Add appropriate error
handling for this case by referencing cds_open() and cds_close().
Change-Id: I6103050d5f2323250c9254a5a3add01fd0d34de3
CRs-Fixed: 2302968
Add support for DP RX Threads as a part of the FR. Multiple RX threads
can be enabled from the ini. The code is added in a new DP module
outside of the cmn project.
Change-Id: Ief6ee955f13c5e527986307371b8e45677cb9700
CRs-Fixed: 2256446
In cds_trigger_recovery(), we avoid recovery if the wlan driver is
unloading. While this is ideal for production devices, we would like to
panic in debug builds for offline analysis. Move the check to see if the
wlan driver is unloading to immediately after the check to see if we
should panic or not.
Change-Id: I07cc624295416ca555eb4d847f709cf30e6672bb
CRs-Fixed: 2299903
QDF_DEBUG_PANIC() is stubbed out for PERF builds, leading to a warning
in cds_trigger_recovery() because @call_info is unused. Extract the
trigger recovery handling into its own function with proper types
instead of void*, and make cds_trigger_recovery_work() a thin wrapper
over this to do the type conversion. This will address the unused
variable warning, and provide stronger type checks via the compiler.
Change-Id: Idf712bdf30d2c6c338219a0327221fe6a0b0b27a
CRs-Fixed: 2299813
Add the basic infra for MLME CFG items and the APIs to be used from
other components.
Change-Id: I39654de8f7266089d574b85437a19e8d21f91249
CRs-Fixed: 2293825