diff options
| -rw-r--r-- | core/hdd/src/wlan_hdd_main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index ca24d456f70a..13c914bd2778 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -5525,7 +5525,7 @@ static void hdd_bus_bw_work_handler(struct work_struct *work) /* ensure periodic timer should still be running before restarting it */ qdf_spinlock_acquire(&hdd_ctx->bus_bw_timer_lock); if (hdd_ctx->bus_bw_timer_running) - qdf_timer_start(&hdd_ctx->bus_bw_timer, + qdf_timer_mod(&hdd_ctx->bus_bw_timer, hdd_ctx->config->busBandwidthComputeInterval); qdf_spinlock_release(&hdd_ctx->bus_bw_timer_lock); } @@ -8972,11 +8972,14 @@ void hdd_stop_bus_bw_compute_timer(hdd_adapter_t *adapter) bool can_stop = true; hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter); + qdf_spinlock_acquire(&hdd_ctx->bus_bw_timer_lock); if (!hdd_ctx->bus_bw_timer_running) { + qdf_spinlock_release(&hdd_ctx->bus_bw_timer_lock); /* trying to stop timer, when not running is not good */ hdd_info("bus band width compute timer is not running"); return; } + qdf_spinlock_release(&hdd_ctx->bus_bw_timer_lock); if (cds_concurrent_open_sessions_running()) { status = hdd_get_front_adapter(hdd_ctx, &adapterNode); |
