qcacld-3.0: Handle failure of self peer remove in SSR

When SSR is in progress, when trying to remove self peer, if
wma_remove_peer() is failed then wma_vdev_detach() doesn't send del sta
response and wma_self_peer_remove() can still proceed to start vdev
hold request timer. This can lead to skip of vdev reference count
release by wma acquired during vdev attach.

To address this, release vdev reference count when self peer remove is
failed and when del self sta request is timed-out.

Change-Id: I2703261a848983b10798cb8ec74d1cec5a393ce5
CRs-Fixed: 2342453
diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h
index 0afeafc..10d8661 100644
--- a/core/wma/inc/wma.h
+++ b/core/wma/inc/wma.h
@@ -1928,9 +1928,9 @@
 void wma_process_set_pdev_vht_ie_req(tp_wma_handle wma,
 		struct set_ie_param *ie_params);
 
-void wma_remove_peer(tp_wma_handle wma, u_int8_t *bssid,
-			u_int8_t vdev_id, void *peer,
-			bool roam_synch_in_progress);
+QDF_STATUS wma_remove_peer(tp_wma_handle wma, uint8_t *bssid,
+			   uint8_t vdev_id, void *peer,
+			   bool roam_synch_in_progress);
 
 QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev,
 			    struct cdp_vdev *vdev, uint8_t peer_addr[6],