瀏覽代碼

qcacld-3.0: Delete SSR timer after WLAN reinitiation is complete

This is a qcacld-2.0 to qcacld-3.0 propagation.

In hdd_wlan_re_init(), SSR timer is deleted before WLAN reinitiation is fully
complete. Between SSR timer delete and WLAN reinitiation is complete,
there are NL socket related calls which can sleep under low memory conditions (or etc)
because of which timer is deleted but isLogpInProgress is not reset to FALSE.
This can potentially fail the south-bound requests for a brief amount of time.

Hence it is always better to delete the SSR timer only after
WLAN reinitiation is complete.

Change-Id: I699438ff3e0c2f7b81e0bbf81be6f514841e194b
CRs-Fixed: 1017011
Srinivas Girigowda 8 年之前
父節點
當前提交
02c084dd6c
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      core/hdd/src/wlan_hdd_power.c

+ 1 - 1
core/hdd/src/wlan_hdd_power.c

@@ -1567,7 +1567,6 @@ QDF_STATUS hdd_wlan_re_init(void)
 
 	pHddCtx->hdd_mcastbcast_filter_set = false;
 	pHddCtx->btCoexModeSet = false;
-	hdd_ssr_timer_del();
 
 	wlan_hdd_send_svc_nlink_msg(pHddCtx->radio_index,
 				WLAN_SVC_FW_CRASHED_IND, NULL, 0);
@@ -1618,6 +1617,7 @@ err_re_init:
 	return -EPERM;
 
 success:
+	hdd_ssr_timer_del();
 	return QDF_STATUS_SUCCESS;
 }