소스 검색

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 9 년 전
부모
커밋
989f457e6d
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  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);
 		}
 	}
 }