qcacld-3.0: stop bus bandwidth timer during runtime suspend

During runtime suspend there is no need to run the periodic bus
bandwidth timer as there is no data traffic.

Change-Id: I7b53b773e5f9fa2c803e8f4dbb186a30d1dc696b
CRs-Fixed: 2504215
This commit is contained in:
Manjunathappa Prakash 2019-08-06 16:47:08 -07:00 • committed by nshrivas
commit f065fcdb2d
2 changed files with 12 additions and 2 deletions

View file

@ -1351,6 +1351,11 @@ static int wlan_hdd_runtime_suspend(struct device *dev)
hdd_debug("Runtime suspend done result: %d total cxpc up time %lu microseconds",
err, delta);
if (status == QDF_STATUS_SUCCESS)
hdd_bus_bw_compute_timer_stop(hdd_ctx);
hdd_debug("Runtime suspend done result: %d", err);
return err;
}
@ -1405,8 +1410,12 @@ static int wlan_hdd_runtime_resume(struct device *dev)
status = ucfg_pmo_psoc_bus_runtime_resume(hdd_ctx->psoc,
hdd_pld_runtime_resume_cb);
if (status != QDF_STATUS_SUCCESS)
if (status != QDF_STATUS_SUCCESS) {
hdd_err("PMO Runtime resume failed: %d", status);
} else {
if (policy_mgr_get_connection_count(hdd_ctx->psoc))
hdd_bus_bw_compute_timer_start(hdd_ctx);
}
hdd_debug("Runtime resume done");

View file

@ -7744,7 +7744,6 @@ void hdd_wlan_exit(struct hdd_context *hdd_ctx)
hdd_wlan_stop_modules(hdd_ctx, false);
hdd_bus_bw_compute_timer_stop(hdd_ctx);
hdd_bus_bandwidth_deinit(hdd_ctx);
hdd_driver_memdump_deinit();
@ -11978,6 +11977,7 @@ int hdd_wlan_stop_modules(struct hdd_context *hdd_ctx, bool ftm_mode)
hdd_psoc_idle_timer_start(hdd_ctx);
cds_set_module_stop_in_progress(false);
hdd_bus_bw_compute_timer_stop(hdd_ctx);
return -EAGAIN;
}
}
@ -12127,6 +12127,7 @@ int hdd_wlan_stop_modules(struct hdd_context *hdd_ctx, bool ftm_mode)
hdd_info("Wlan transitioned (now CLOSED)");
pld_request_bus_bandwidth(hdd_ctx->parent_dev, PLD_BUS_WIDTH_NONE);
hdd_bus_bw_compute_timer_stop(hdd_ctx);
done:
cds_set_module_stop_in_progress(false);