瀏覽代碼

qcacld-3.0: Reset FW peer count when HO failed

For LFR 3.0, when HO failed, peer deletion is handled by FW,
No WMI_PEER_DELETE_CMDID will be sent to FW.
Reset the peer counter when HO failure is reported.

Change-Id: I07cecf3166f40d2bd103a286e4556f95d7465bba
CRs-Fixed: 2240059
Min Liu 7 年之前
父節點
當前提交
31c601d2d6
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      core/wma/src/wma_scan_roam.c

+ 9 - 0
core/wma/src/wma_scan_roam.c

@@ -2852,10 +2852,19 @@ int wma_rssi_breached_event_handler(void *handle,
  */
 static void wma_roam_ho_fail_handler(tp_wma_handle wma, uint32_t vdev_id)
 {
+	struct wma_txrx_node *iface = &wma->interfaces[vdev_id];
 	tSirSmeHOFailureInd *ho_failure_ind;
 	struct scheduler_msg sme_msg = { 0 };
 	QDF_STATUS qdf_status;
 
+	/* For LFR 3.0 hand-off failure, peers will be deleted by FW
+	 * no WMI_PEER_DELETE_CMDID will be sent to FW
+	 * reset the peer count here
+	 */
+	WMA_LOGD("Reset FW peer count");
+	qdf_atomic_init(&iface->fw_peer_count);
+	qdf_event_set(&iface->fw_peer_delete_completion);
+
 	ho_failure_ind = qdf_mem_malloc(sizeof(tSirSmeHOFailureInd));
 
 	if (NULL == ho_failure_ind) {