소스 검색

qcacld-3.0: Fix start and stop procedure of epping mode

Do not start idle timer for epping mode when starting.
Deinit bus bandwidth and replenish timer when stopping, otherwise,
there will be resource leak.

Change-Id: Ib596f51445b739acd4551640b73270fd7693eea1
CRs-Fixed: 2464089
Guisen Yang 6 년 전
부모
커밋
2780b92f21
2개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 0
      core/hdd/src/wlan_hdd_driver_ops.c
  2. 2 1
      core/hdd/src/wlan_hdd_main.c

+ 2 - 0
core/hdd/src/wlan_hdd_driver_ops.c

@@ -594,6 +594,8 @@ static void __hdd_soc_remove(struct device *dev)
 
 	if (hdd_get_conparam() == QDF_GLOBAL_EPPING_MODE) {
 		hdd_wlan_stop_modules(hdd_ctx, false);
+		hdd_bus_bandwidth_deinit(hdd_ctx);
+		qdf_nbuf_deinit_replenish_timer();
 	} else {
 		hdd_wlan_exit(hdd_ctx);
 	}

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

@@ -12039,7 +12039,8 @@ QDF_STATUS hdd_psoc_create_vdevs(struct hdd_context *hdd_ctx)
 	if (hdd_ctx->rps)
 		hdd_set_rps_cpu_mask(hdd_ctx);
 
-	if (driver_mode != QDF_GLOBAL_FTM_MODE)
+	if (driver_mode != QDF_GLOBAL_FTM_MODE &&
+	    driver_mode != QDF_GLOBAL_EPPING_MODE)
 		hdd_psoc_idle_timer_start(hdd_ctx);
 
 	return QDF_STATUS_SUCCESS;