summaryrefslogtreecommitdiff
path: root/core/cds
diff options
context:
space:
mode:
authorNaveen Rawat <naveenrawat@codeaurora.org>2017-12-05 11:11:55 -0800
committersnandini <snandini@codeaurora.org>2017-12-06 12:34:28 -0800
commit3581bc114504019fcff5aabb8d7465f2e684ba54 (patch)
tree13e644311f311a578b4a7ed17bd27c1cf352148b /core/cds
parent7b2cdec456a01d928a5247ffdc8773921c72fd8e (diff)
downloadqcacld-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.c11
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;
}