소스 검색

qcacld-3.0: Avoid race about roam to invalid channel

Currently, when channel list is changed. It updates
the channel list to fw first and then disconnect the
sta. This causes race condition to roam to invalid
channel.

To resolve this, disconnect the sta and then update
channel list.

Change-Id: I12d8098ee6acececc8a574d2b15f5c4774c07936
CRs-Fixed: 2806706
Paul Zhang 4 년 전
부모
커밋
13e650860f
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      core/hdd/src/wlan_hdd_regulatory.c

+ 2 - 2
core/hdd/src/wlan_hdd_regulatory.c

@@ -1572,6 +1572,8 @@ static void __hdd_country_change_work_handle(struct hdd_context *hdd_ctx)
 	 * selection for SAPs
 	 */
 	hdd_country_change_update_sta(hdd_ctx);
+	sme_generic_change_country_code(hdd_ctx->mac_handle,
+					hdd_ctx->reg.alpha2);
 	hdd_country_change_update_sap(hdd_ctx);
 }
 
@@ -1645,8 +1647,6 @@ static void hdd_regulatory_dyn_cbk(struct wlan_objmgr_psoc *psoc,
 	} else {
 		hdd_config_tdls_with_band_switch(hdd_ctx);
 
-		sme_generic_change_country_code(hdd_ctx->mac_handle,
-				hdd_ctx->reg.alpha2);
 		qdf_sched_work(0, &hdd_ctx->country_change_work);
 	}
 }