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

Commit 4edc0073 authored by AnilKumar Chimata's avatar AnilKumar Chimata Committed by Mohit Sharma
Browse files

smcinvoke: Remove workqueue has sleeper



If invoke calls are made before any accept threads then
its possible that workqueue has sleeper will return false.
So CB failures are seen during TA loading.

Change-Id: Id3b3a1907456c59bd8d51355dbdcba30a5c1a79a
Signed-off-by: default avatarAnilKumar Chimata <anilc@codeaurora.org>
parent a7e0337c
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -986,12 +986,11 @@ static void process_tzcb_req(void *buf, size_t buf_len, struct file **arr_filp)
	 * we need not worry that server_info will be deleted because as long
	 * as this CBObj is served by this server, srvr_info will be valid.
	 */
	if (wq_has_sleeper(&srvr_info->req_wait_q)) {
	wake_up_interruptible_all(&srvr_info->req_wait_q);
	ret = wait_event_interruptible(srvr_info->rsp_wait_q,
		(cb_txn->state == SMCINVOKE_REQ_PROCESSED) ||
		(srvr_info->state == SMCINVOKE_SERVER_STATE_DEFUNCT));
	}

out:
	/*
	 * we could be here because of either: a. Req is PROCESSED