Browse Source

qcacld-3.0: Fix timer assert in tdls module

TDLS peer idle timers will be created only for implicit and external
mode operations. But tdls exit operation try to stop these timers
without checking the state of the timers and causes assert in
timer module.
Add changes to validate timer state before calls timer stop
function.

Change-Id: I6d41bbd99b49326b5a6eb8350f67923626d42400
CRs-Fixed: 1050836
Kabilan Kannan 8 years ago
parent
commit
989f457e6d
1 changed files with 2 additions and 1 deletions
  1. 2 1
      core/hdd/src/wlan_hdd_tdls.c

+ 2 - 1
core/hdd/src/wlan_hdd_tdls.c

@@ -570,7 +570,8 @@ static void wlan_hdd_tdls_peer_idle_timers_stop(tdlsCtx_t *hdd_tdls_ctx)
 		head = &hdd_tdls_ctx->peer_list[i];
 		list_for_each(pos, head) {
 			curr_peer = list_entry(pos, hddTdlsPeer_t, node);
-			qdf_mc_timer_stop(&curr_peer->peer_idle_timer);
+			if (curr_peer->is_peer_idle_timer_initialised)
+				qdf_mc_timer_stop(&curr_peer->peer_idle_timer);
 		}
 	}
 }