소스 검색

qcacld-3.0: If NUD Failure not honored, restart the NUD tracking

When NUD FAILED event is sent by kernel, driver checks if this event
needs to be honored or not. If there is any active traffic, driver
will not honor NUD FAILED event and won't issue disconnect.
Currently, when NUD FAILED event is not honored, driver NUD state is
updated to NUD_NONE. This won't allow the further NUD FAILED event
processing in driver if received without NUD PROBE/NUD INCOMPLETE.

Reset the driver NUD state machine when NUD FAILED event
is not honored and restart NUD tracking.

Change-Id: I46826fdf60fc2f3543567c09ddc8574f119efd38
CRs-Fixed: 2583096
Alok Kumar 5 년 전
부모
커밋
14affd5647
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      core/hdd/src/wlan_hdd_nud_tracking.c

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

@@ -409,7 +409,9 @@ static void hdd_nud_process_failure_event(struct hdd_adapter *adapter)
 			qdf_sched_work(0, &adapter
 					->nud_tracking.nud_event_work);
 		} else {
-			hdd_nud_set_tracking(adapter, NUD_NONE, false);
+			hdd_debug("NUD_START [0x%x]", NUD_INCOMPLETE);
+			hdd_nud_capture_stats(adapter, NUD_INCOMPLETE);
+			hdd_nud_set_tracking(adapter, NUD_INCOMPLETE, true);
 		}
 	} else {
 		hdd_debug("NUD FAILED -> Current State [0x%x]", curr_state);