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

Commit 1da6989b authored by AnilKumar Chimata's avatar AnilKumar Chimata Committed by Gerrit - the friendly Code Review server
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 fbad67d3
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