소스 검색

qcacld-3.0: Remove driver internal blacklist ap info

Currently the BLM removes the entry if the difference
between connect and disconnect is greater than the
blm bad bssid reset time.
This could lead to removal of those APs also which
are in rssi reject list too.

Fix is to remove the APs if not present in other list
other than avoid, black (driver).

Change-Id: Iae0edbd093546921e36ce4ed511450617e675adf
CRs-Fixed: 2485750
gaurank kathpalia 6 년 전
부모
커밋
b4fd0fea51
1개의 변경된 파일14개의 추가작업 그리고 7개의 파일을 삭제
  1. 14 7
      components/blacklist_mgr/core/src/wlan_blm_core.c

+ 14 - 7
components/blacklist_mgr/core/src/wlan_blm_core.c

@@ -1023,13 +1023,20 @@ blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
 							max_entry_time;
 		if ((connection_age >
 		     SECONDS_TO_MS(blm_psoc_obj->blm_cfg.
-				   bad_bssid_counter_reset_time)) ||
-		    !blm_entry->reject_ap_type) {
-			blm_debug("Bad Bssid timer expired/AP cleared from all blacklisting, removed %pM from list",
-				  blm_entry->bssid.bytes);
-			qdf_list_remove_node(&blm_ctx->reject_ap_list,
-					     &blm_entry->node);
-			qdf_mem_free(blm_entry);
+				   bad_bssid_counter_reset_time))) {
+			blm_entry->driver_avoidlist = false;
+			blm_entry->driver_blacklist = false;
+			blm_entry->driver_monitorlist = false;
+			blm_entry->userspace_avoidlist = false;
+			blm_debug("updated reject ap type %d ",
+				  blm_entry->reject_ap_type);
+			if (!blm_entry->reject_ap_type) {
+				blm_debug("Bad Bssid timer expired/AP cleared from all blacklisting, removed %pM from list",
+					  blm_entry->bssid.bytes);
+				qdf_list_remove_node(&blm_ctx->reject_ap_list,
+						     &blm_entry->node);
+				qdf_mem_free(blm_entry);
+			}
 		}
 		break;
 	default: