Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55e72c87 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "net: ipc_router: Split IPC Router initialization"

parents 1095c86e 778145f1
Loading
Loading
Loading
Loading
+31 −12
Original line number Diff line number Diff line
@@ -182,7 +182,7 @@ static DEFINE_MUTEX(log_ctx_list_lock_lha0);
static LIST_HEAD(log_ctx_list);
static DEFINE_MUTEX(ipc_router_init_lock);
static bool is_ipc_router_inited;
static int msm_ipc_router_init(void);
static int ipc_router_core_init(void);
#define IPC_ROUTER_INIT_TIMEOUT (10 * HZ)

static uint32_t next_port_id;
@@ -3350,7 +3350,7 @@ struct msm_ipc_port *msm_ipc_router_create_port(
	struct msm_ipc_port *port_ptr;
	int ret;

	ret = msm_ipc_router_init();
	ret = ipc_router_core_init();
	if (ret < 0) {
		IPC_RTR_ERR("%s: Error %d initializing IPC Router\n",
			    __func__, ret);
@@ -3990,7 +3990,7 @@ void msm_ipc_router_xprt_notify(struct msm_ipc_router_xprt *xprt,
	struct rr_packet *pkt;
	int ret;

	ret = msm_ipc_router_init();
	ret = ipc_router_core_init();
	if (ret < 0) {
		IPC_RTR_ERR("%s: Error %d initializing IPC Router\n",
			    __func__, ret);
@@ -4103,9 +4103,17 @@ static struct platform_driver ipc_router_driver = {
	 },
};

static int msm_ipc_router_init(void)
/**
 * ipc_router_core_init() - Initialize all IPC Router core data structures
 *
 * Return: 0 on Success or Standard error code otherwise.
 *
 * This function only initializes all the core data structures to the IPC Router
 * module. The remaining initialization is done inside msm_ipc_router_init().
 */
static int ipc_router_core_init(void)
{
	int i, ret;
	int i;
	struct msm_ipc_routing_table_entry *rt_entry;

	mutex_lock(&ipc_router_init_lock);
@@ -4133,10 +4141,6 @@ static int msm_ipc_router_init(void)
	rt_entry = create_routing_table_entry(IPC_ROUTER_NID_LOCAL, NULL);
	kref_put(&rt_entry->ref, ipc_router_release_rtentry);

	ret = msm_ipc_router_security_init();
	if (ret < 0)
		IPC_RTR_ERR("%s: Security Init failed\n", __func__);

	msm_ipc_router_workqueue =
		create_singlethread_workqueue("msm_ipc_router");
	if (!msm_ipc_router_workqueue) {
@@ -4144,6 +4148,24 @@ static int msm_ipc_router_init(void)
		return -ENOMEM;
	}

	is_ipc_router_inited = true;
	mutex_unlock(&ipc_router_init_lock);

	return 0;
}

static int msm_ipc_router_init(void)
{
	int ret;

	ret = ipc_router_core_init();
	if (ret < 0)
		return ret;

	ret = msm_ipc_router_security_init();
	if (ret < 0)
		IPC_RTR_ERR("%s: Security Init failed\n", __func__);

	ret = platform_driver_register(&ipc_router_driver);
	if (ret)
		IPC_RTR_ERR(
@@ -4153,10 +4175,7 @@ static int msm_ipc_router_init(void)
	if (ret < 0)
		IPC_RTR_ERR("%s: Init sockets failed\n", __func__);

	is_ipc_router_inited = true;

	ipc_router_log_ctx_init();
	mutex_unlock(&ipc_router_init_lock);
	return ret;
}