Sfoglia il codice sorgente

qcacld-3.0: Reset scan reject params on peer connect and disconnect

If in SAP peer keep on connecting and disconnecting without
completing the EAPOL (e.g. due to wrong password), scan logic will
assume that EAPOL is in progress for long time and assert.

To fix this false alarm reset scan reject params on peer connect
and disconnect.

Change-Id: I067b5be39504651ffe4e29e1cc927ad0bc3a06c0
CRs-Fixed: 2928817
Abhishek Singh 4 anni fa
parent
commit
c39c12eb1b
1 ha cambiato i file con 6 aggiunte e 0 eliminazioni
  1. 6 0
      core/hdd/src/wlan_hdd_hostapd.c

+ 6 - 0
core/hdd/src/wlan_hdd_hostapd.c

@@ -100,6 +100,7 @@
 #include "wlan_if_mgr_public_struct.h"
 #include "wlan_hdd_bootup_marker.h"
 #include "wlan_hdd_medium_assess.h"
+#include "wlan_hdd_scan.h"
 
 #define ACS_SCAN_EXPIRY_TIMEOUT_S 4
 
@@ -2266,6 +2267,9 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
 	case eSAP_STA_ASSOC_EVENT:
 	case eSAP_STA_REASSOC_EVENT:
 		event = &sap_event->sapevt.sapStationAssocReassocCompleteEvent;
+
+		/* Reset scan reject params on assoc */
+		hdd_init_scan_reject_params(hdd_ctx);
 		if (eSAP_STATUS_FAILURE == event->status) {
 			hdd_info("assoc failure: " QDF_MAC_ADDR_FMT,
 				 QDF_MAC_ADDR_REF(wrqu.addr.sa_data));
@@ -2406,6 +2410,8 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
 		memcpy(wrqu.addr.sa_data,
 		       &disassoc_comp->staMac, QDF_MAC_ADDR_SIZE);
 
+		/* Reset scan reject params on disconnect */
+		hdd_init_scan_reject_params(hdd_ctx);
 		cache_stainfo = hdd_get_sta_info_by_mac(
 						&adapter->cache_sta_info_list,
 						disassoc_comp->staMac.bytes,