qcacld-3.0: verify driver state when CDS scheduler getting closed

Presently, in cds_open() error handling, cds_sched_open is invoked only
in UNINTIALIZED or recovery state but same is not checked while invoking
cds_sched_close.

Invoke cds_sched_close only if driver is in UNITIALIZED state or WLAN
driver recovery is in progress.

Change-Id: I17e2cbe8f859cab4bc12d1a52a583833fb125ada
CRs-Fixed: 2010802
This commit is contained in:
Hanumanth Reddy Pothula 2017-02-23 17:15:37 +05:30 • committed by snandini
commit 0b5714337a

View file

@ -627,7 +627,14 @@ err_bmi_close:
bmi_cleanup(ol_ctx);
err_sched_close:
cds_sched_close(gp_cds_context);
if (pHddCtx->driver_status == DRIVER_MODULES_UNINITIALIZED ||
cds_is_driver_recovering()) {
qdf_status = cds_sched_close(gp_cds_context);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
hdd_err("Failed to close CDS Scheduler");
QDF_ASSERT(false);
}
}
err_wma_complete_event:
qdf_event_destroy(&gp_cds_context->wmaCompleteEvent);