瀏覽代碼

qcacld-3.0: Fix wrong subnet_change_status derivation after roam

Subnet change status field is obtained from bits 4 & 5 of the
roam_reason field in roam synch indication. But in
cm_fill_roam_info() the subnet_change_status is received from
the masked roam reason field and is always 0. So after
roaming to AP with different subnet wrong subnet change
indication is sent to userspace and ultimately NUD failure is
triggered.

Get the subnet_change_status directly from the roam synch
indication

Change-Id: I708276750c0aa3f1586cf9501f55f742d42ebf3f
CRs-Fixed: 3438725
Pragaspathi Thilagaraj 2 年之前
父節點
當前提交
36f994680f
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c

+ 1 - 1
components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c

@@ -596,7 +596,7 @@ cm_fill_roam_info(struct wlan_objmgr_vdev *vdev,
 	roaming_info->roam_reason =
 		roam_synch_data->roam_reason & ROAM_REASON_MASK;
 	roaming_info->subnet_change_status =
-			CM_GET_SUBNET_STATUS(roaming_info->roam_reason);
+			CM_GET_SUBNET_STATUS(roam_synch_data->roam_reason);
 	roaming_info->pmk_len = roam_synch_data->pmk_len;
 	if (roaming_info->pmk_len)
 		qdf_mem_copy(roaming_info->pmk, roam_synch_data->pmk,