Explorar o código

qcacld-3.0: Fix Connection issue when AP change from hidden to non-hidden

If AP change its status from hidden to broadcasting SSID in its beacon
kernel drop the beacon entry as its confusing. Now during connection
driver try to update the entry in kernel and it fails and as kernel drop
the beacon the connection fails.

To fix this detect if AP changed its ssid type from hidden to
broadcasting and unlink the old bss from kernel in that case.

Change-Id: Ic7fc67aeb2b95e772ed12340f7ff84b1f2c233d9
CRs-Fixed: 2410209
Abhishek Singh %!s(int64=6) %!d(string=hai) anos
pai
achega
5ffe9de5b4
Modificáronse 1 ficheiros con 10 adicións e 1 borrados
  1. 10 1
      core/hdd/src/wlan_hdd_main.c

+ 10 - 1
core/hdd/src/wlan_hdd_main.c

@@ -10931,7 +10931,16 @@ static inline QDF_STATUS hdd_register_bcn_cb(struct hdd_context *hdd_ctx)
 		wlan_cfg80211_inform_bss_frame,
 		SCAN_CB_TYPE_INFORM_BCN);
 	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		hdd_err("failed with status code %08d [x%08x]",
+		hdd_err("failed to register SCAN_CB_TYPE_INFORM_BCN with status code %08d [x%08x]",
+			status, status);
+		return status;
+	}
+
+	status = ucfg_scan_register_bcn_cb(hdd_ctx->psoc,
+		wlan_cfg80211_unlink_bss_list,
+		SCAN_CB_TYPE_UNLINK_BSS);
+	if (!QDF_IS_STATUS_SUCCESS(status)) {
+		hdd_err("failed to refister SCAN_CB_TYPE_FLUSH_BSS with status code %08d [x%08x]",
 			status, status);
 		return status;
 	}