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

Skip to content
Commit 3b6ca7c9 authored by Lina Iyer's avatar Lina Iyer
Browse files

drivers: mailbox: retry on -EAGAIN



Mailbox framework makes requests to the underlying drivers by holding a
spinlock that prevents interrupts from happening at the same time. If
they both happen to occur on the same CPU, then the interrupt handler
would never get a chance to run. In cases where the request is pending
because the interrupt handler never got a chance to run and clear the
status of the controller, the msg_submit() call would fail and the
request would go back to the mailbox's queue. Additionally, in such a
case, if there are no following requests on the same mailbox client, the
request will remain pending forever in the mailbox queue. This would
hang the thread that is waiting on the completion of the request.

Change-Id: Ia66031dc33650c5f392fc9ec538fc882678810f2
Signed-off-by: default avatarLina Iyer <ilina@codeaurora.org>
parent 21d05698
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment