ソースを参照

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;