Ver Fonte

qcacld-3.0: Move channel avoidance event setting to hdd_features_init

Currently, enable/disable channel avoidance event based on INI is done
in hdd_wlan_startup. In power save scenarios, where WMI configuration
needs to be sent again to FW, channel avoidance event setting is not
sent.

Move the channel avoidance setting to hdd_features_init so that this
config is set properly to FW in power save cases as well.

Change-Id: I707054c44a882f6dd4a4a9df2b6821b93b724f7a
CRs-Fixed: 2009299
Selvaraj, Sridhar há 8 anos atrás
pai
commit
371f55e987
1 ficheiros alterados com 8 adições e 7 exclusões
  1. 8 7
      core/hdd/src/wlan_hdd_main.c

+ 8 - 7
core/hdd/src/wlan_hdd_main.c

@@ -8337,6 +8337,14 @@ static int hdd_features_init(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter)
 			goto deregister_cb;
 		}
 	}
+	if (hdd_ctx->config->goptimize_chan_avoid_event) {
+		status = sme_enable_disable_chanavoidind_event(
+							hdd_ctx->hHal, 0);
+		if (!QDF_IS_STATUS_SUCCESS(status)) {
+			hdd_err("Failed to disable Chan Avoidance Indication");
+			goto deregister_cb;
+		}
+	}
 
 	/* register P2P Listen Offload event callback */
 	if (wma_is_p2p_lo_capable())
@@ -8852,13 +8860,6 @@ int hdd_wlan_startup(struct device *dev)
 	qdf_mc_timer_start(&hdd_ctx->iface_change_timer,
 			   hdd_ctx->config->iface_change_wait_time * 5000);
 
-	if (hdd_ctx->config->goptimize_chan_avoid_event) {
-		status = sme_enable_disable_chanavoidind_event(
-							hdd_ctx->hHal, 0);
-		if (!QDF_IS_STATUS_SUCCESS(status))
-			hdd_err("Failed to disable Chan Avoidance Indication");
-	}
-	complete(&wlan_start_comp);
 	goto success;
 
 err_close_adapters: