فهرست منبع

qcacmn: Add logic to set serialization timeout per tried candidate

Add logic to set serialization timeout per tried candidate

Change-Id: I08443b8d7e318f971b1905d8a457393be4ad2309
CRs-Fixed: 2852452
gaurank kathpalia 4 سال پیش
والد
کامیت
7bcb5cd4b9
2فایلهای تغییر یافته به همراه17 افزوده شده و 1 حذف شده
  1. 15 0
      umac/mlme/connection_mgr/core/src/wlan_cm_connect.c
  2. 2 1
      umac/mlme/connection_mgr/core/src/wlan_cm_main.h

+ 15 - 0
umac/mlme/connection_mgr/core/src/wlan_cm_connect.c

@@ -1228,6 +1228,19 @@ cm_send_bss_select_ind(struct cnx_mgr *cm_ctx, struct cm_connect_req *req)
 	return QDF_STATUS_SUCCESS;
 }
 
+static void cm_update_ser_timer_for_new_candidate(struct cnx_mgr *cm_ctx,
+						  wlan_cm_id cm_id)
+{
+	struct wlan_serialization_command cmd;
+
+	cmd.cmd_type = WLAN_SER_CMD_VDEV_CONNECT;
+	cmd.cmd_id = cm_id;
+	cmd.cmd_timeout_duration = cm_ctx->connect_timeout;
+	cmd.vdev = cm_ctx->vdev;
+
+	wlan_serialization_update_timer(&cmd);
+}
+
 QDF_STATUS cm_try_next_candidate(struct cnx_mgr *cm_ctx,
 				 struct wlan_cm_connect_resp *resp)
 {
@@ -1252,6 +1265,8 @@ QDF_STATUS cm_try_next_candidate(struct cnx_mgr *cm_ctx,
 	if (!same_candidate_used)
 		mlme_cm_osif_failed_candidate_ind(cm_ctx->vdev, resp);
 
+	cm_update_ser_timer_for_new_candidate(cm_ctx, resp->cm_id);
+
 	status = cm_send_bss_select_ind(cm_ctx, &cm_req->connect_req);
 	/*
 	 * If candidate select indication is not supported continue with bss

+ 2 - 1
umac/mlme/connection_mgr/core/src/wlan_cm_main.h

@@ -31,7 +31,8 @@
 
 /* Max candidate/attempts to be tried to connect */
 #define CM_MAX_CONNECT_ATTEMPTS 5
-#define CM_MAX_CONNECT_TIMEOUT 30000
+#define CM_MAX_CONNECT_TIMEOUT 10000
+
 /*
  * Default max retry attempts to be tried for a candidate.
  * In SAE connection this value will be overwritten from the sae_connect_retries