diff options
author | Naveen Rawat <naveenrawat@codeaurora.org> | 2017-12-05 11:11:55 -0800 |
---|---|---|
committer | snandini <snandini@codeaurora.org> | 2017-12-06 12:34:28 -0800 |
commit | 3581bc114504019fcff5aabb8d7465f2e684ba54 (patch) | |
tree | 13e644311f311a578b4a7ed17bd27c1cf352148b /core/cds | |
parent | 7b2cdec456a01d928a5247ffdc8773921c72fd8e (diff) | |
download | qcacld-3581bc114504019fcff5aabb8d7465f2e684ba54.tar.gz |
qcacld-3.0: Execute sme_stop and mac_stop in mc thread context
sme_stop and mac_stop are accessing share data structures which
create a race condition when it is called from rmmod context.
Change context of sme_stop and mac_stop from rmmod thread to
mc thread.
Change-Id: Ie30f99d6b0c2f7c6cf20371dd66323d156360474
CRs-Fixed: 2148771
Diffstat (limited to 'core/cds')
-rw-r--r-- | core/cds/src/cds_api.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index d67c346df6..deddb962ad 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -856,17 +856,8 @@ QDF_STATUS cds_disable(v_CONTEXT_t cds_context) cds_err("Invalid PE context return!"); return QDF_STATUS_E_INVAL; } - qdf_status = sme_stop(handle, HAL_STOP_TYPE_SYS_DEEP_SLEEP); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - cds_err("Failed to stop SME: %d", qdf_status); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - qdf_status = mac_stop(handle, HAL_STOP_TYPE_SYS_DEEP_SLEEP); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - cds_err("Failed to stop MAC"); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } + umac_stop(cds_context); return qdf_status; } |