qcacld-3.0: Peer is not deleted when delete VDEV

Failure can be observed when waiting for peer deletion
before sending WMI command. Peer deletion in VDEV stop
timeout handler also need to be handled in the scheduler
queues.

Change the logic to wait for peer delete completion
before sending message to scheduler queue to delete VDEV.

Change-Id: I78d3070a73c85d212bc33c346b3e60edf3c016f8
CRs-Fixed: 2187430
diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h
index 7cf03e4..52f97d6 100644
--- a/core/wma/inc/wma.h
+++ b/core/wma/inc/wma.h
@@ -1111,7 +1111,7 @@
 	bool restore_dtim_setting;
 	uint32_t peer_count;
 	qdf_atomic_t fw_peer_count;
-	qdf_event_t fw_peer_delete;
+	qdf_event_t fw_peer_delete_completion;
 	bool roam_synch_in_progress;
 	void *plink_status_req;
 	void *psnr_req;
@@ -2659,4 +2659,16 @@
  * Return: None
  */
 void wma_check_and_set_wake_timer(uint32_t time);
+
+/**
+ * wma_vdev_wait_for_peer_delete_completion() - wait for all peers of the vdev
+ * to be deleted.
+ * @wma_handle: wma handle
+ * @vdev_id: vdev id
+ *
+ * Return: None
+ */
+void wma_vdev_wait_for_peer_delete_completion(tp_wma_handle wma_handle,
+					      uint8_t vdev_id);
+
 #endif