Browse Source

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 2 năm trước cách đây
mục cha
commit
64204cc788
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  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;