浏览代码

qcacld-3.0: Fix disconnect for NUD failure just after roaming

For EAP 802.1x AP, when host received roam sync,  just reassociated, RSO
is still stopped to wait EAPOL handshake finished,  if nud failure is
handled, roaming is failed to invoke and disconnect happens.

To fix it,  don't handle nud failure during EAPOL handshake.

Change-Id: Ia3a9e989ea16443fa157834ef9d4ceb247f82e24
CRs-Fixed: 3233058
Jianmin Zhu 3 年之前
父节点
当前提交
64204cc788
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      core/hdd/src/wlan_hdd_nud_tracking.c

+ 7 - 0
core/hdd/src/wlan_hdd_nud_tracking.c

@@ -463,6 +463,13 @@ static void hdd_nud_filter_netevent(struct neighbour *neigh)
 		return;
 	}
 
+	if (!hdd_is_sta_authenticated(adapter)) {
+		hdd_debug("client " QDF_MAC_ADDR_FMT
+			  " is in the middle of WPS/EAPOL exchange.",
+			  QDF_MAC_ADDR_REF(adapter->mac_addr.bytes));
+		return;
+	}
+
 	if (!qdf_is_macaddr_equal(&adapter->nud_tracking.gw_mac_addr,
 				  (struct qdf_mac_addr *)&neigh->ha[0]))
 		return;