浏览代码

qcacld-3.0: Reconfigure KEEPALIVE interval after link switch

As part of SET_KEEP_ALIVE_INTERVAL command host configures
KEEPALIVE interval for connected ml vdevs and resets to
default value as part of disconnect. In case of disconnect
as part of link repurpose host resets KEEPALIVE interval
and fails to set in connect case.

To address this issue, don't reset KEEPALIVE interval
incase of link repurpose and set it after connection.

Change-Id: Ia62109ceb32740844cfef3ef975ab15492e64b8c
CRs-Fixed: 3805788
Asutosh Mohapatra 1 年之前
父节点
当前提交
cf626e1a3c
共有 2 个文件被更改,包括 8 次插入7 次删除
  1. 5 6
      core/hdd/src/wlan_hdd_cm_connect.c
  2. 3 1
      core/hdd/src/wlan_hdd_cm_disconnect.c

+ 5 - 6
core/hdd/src/wlan_hdd_cm_connect.c

@@ -1795,15 +1795,14 @@ hdd_cm_connect_success_pre_user_update(struct wlan_objmgr_vdev *vdev,
 		link_info->vdev_id, QDF_TRACE_DEFAULT_PDEV_ID,
 		QDF_PROTO_TYPE_MGMT, QDF_PROTO_MGMT_ASSOC));
 
-	if (is_roam) {
+	if (is_roam)
 		ucfg_dp_nud_indicate_roam(vdev);
+	 /* hdd_objmgr_set_peer_mlme_auth_state */
 
-		if (adapter->keep_alive_interval)
-			hdd_vdev_send_sta_keep_alive_interval(link_info,
-						hdd_ctx,
+	if (adapter->keep_alive_interval &&
+	    (is_roam ||	wlan_vdev_mlme_is_mlo_link_switch_in_progress(vdev)))
+		hdd_vdev_send_sta_keep_alive_interval(link_info, hdd_ctx,
 						adapter->keep_alive_interval);
-	}
-	 /* hdd_objmgr_set_peer_mlme_auth_state */
 }
 
 static void

+ 3 - 1
core/hdd/src/wlan_hdd_cm_disconnect.c

@@ -280,7 +280,9 @@ __hdd_cm_disconnect_handler_post_user_update(struct wlan_hdd_link_info *link_inf
 
 	ucfg_dp_nud_reset_tracking(vdev);
 	hdd_reset_limit_off_chan(adapter);
-	hdd_reset_sta_keep_alive_interval(link_info, hdd_ctx);
+
+	if (!is_link_switch)
+		hdd_reset_sta_keep_alive_interval(link_info, hdd_ctx);
 
 	hdd_cm_print_bss_info(sta_ctx);
 }