rpmsg: glink: mark intent request complete before wake up

Channel release function is not making intent wait condition true
before calling wake_up, due to this thread waiting on intent is
stuck and does not wake up until timeout happens. By this time
channel context is freed and this casues finish wait to fail due
to access of wait queue in freed channel context.

Mark intent request complete before calling wake_up.

CRs-Fixed: 2914979
Change-Id: Ia4162c9e62f0f5a7bd04ca0e09c2cd58319ef341
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
This commit is contained in:
Deepak Kumar Singh 2021-04-27 20:17:38 +05:30 committed by Chris Lew
parent d1167202e6
commit a35460ef6d

View File

@ -253,6 +253,9 @@ static void qcom_glink_channel_release(struct kref *ref)
unsigned long flags;
int iid;
channel->intent_req_result = false;
complete_all(&channel->intent_req_comp);
/* cancel pending rx_done work */
cancel_work_sync(&channel->intent_work);