qcacmn: Serialization component initialization

Trigger the initialization of the serialization
umac common component from the dispatcher during
the startup

Change-Id: I65f02ec4b5668f1b6e2efa20f7558252e57b2fb3
CRs-Fixed: 2000032
diff --git a/init_deinit/dispatcher/src/dispatcher_init_deinit.c b/init_deinit/dispatcher/src/dispatcher_init_deinit.c
index e7c8f66..b7a2156 100644
--- a/init_deinit/dispatcher/src/dispatcher_init_deinit.c
+++ b/init_deinit/dispatcher/src/dispatcher_init_deinit.c
@@ -22,6 +22,7 @@
 #include <dispatcher_init_deinit.h>
 #include <scheduler_api.h>
 #include <wlan_mgmt_txrx_utils_api.h>
+#include <wlan_serialization_api.h>
 
 /**
  * DOC: This file provides various init/deinit trigger point for new
@@ -144,12 +145,17 @@
 	if (QDF_STATUS_SUCCESS != tdls_init())
 		goto tdls_init_fail;
 
+	if (QDF_STATUS_SUCCESS != wlan_serialization_init())
+		goto serialization_init_fail;
+
 	if (QDF_STATUS_SUCCESS != scheduler_init())
 		goto scheduler_init_fail;
 
 	return QDF_STATUS_SUCCESS;
 
 scheduler_init_fail:
+	wlan_serialization_deinit();
+serialization_init_fail:
 	tdls_deinit();
 tdls_init_fail:
 	p2p_deinit();
@@ -169,6 +175,8 @@
 {
 	QDF_BUG(QDF_STATUS_SUCCESS == scheduler_deinit());
 
+	QDF_BUG(QDF_STATUS_SUCCESS == wlan_serialization_deinit());
+
 	QDF_BUG(QDF_STATUS_SUCCESS == tdls_deinit());
 
 	QDF_BUG(QDF_STATUS_SUCCESS == p2p_deinit());
@@ -194,8 +202,13 @@
 	if (QDF_STATUS_SUCCESS != tdls_psoc_open(psoc))
 		goto tdls_psoc_open_fail;
 
+	if (QDF_STATUS_SUCCESS != wlan_serialization_psoc_open(psoc))
+		goto serialization_psoc_open_fail;
+
 	return QDF_STATUS_SUCCESS;
 
+serialization_psoc_open_fail:
+	tdls_psoc_close(psoc);
 tdls_psoc_open_fail:
 	p2p_psoc_close(psoc);
 p2p_psoc_open_fail:
@@ -214,6 +227,8 @@
 
 	QDF_BUG(QDF_STATUS_SUCCESS == scm_psoc_close(psoc));
 
+	QDF_BUG(QDF_STATUS_SUCCESS == wlan_serialization_psoc_close(psoc));
+
 	return QDF_STATUS_SUCCESS;
 }
 EXPORT_SYMBOL(dispatcher_psoc_close);