소스 검색

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;