Patch "mailbox: always wait in mbox_send_message for blocking Tx mode" has been added to the 3.18-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
mailbox: always wait in mbox_send_message for blocking Tx mode
to the 3.18-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mailbox-always-wait-in-mbox_send_message-for-blocking-tx-mode.patch
and it can be found in the queue-3.18 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c61b781ee084e69855477d23dd33e7e6caad652cMon Sep 17 00:00:00 2001
From: Sudeep Holla <[email protected]>
Date: Tue, 21 Mar 2017 11:30:14 +0000
Subject: mailbox: always wait in mbox_send_message for blocking Tx mode
From: Sudeep Holla <[email protected]>
commit c61b781ee084e69855477d23dd33e7e6caad652c upstream.
There exists a race when msg_submit return immediately as there was an active request being processed which may have completed just before it's checked again in mbox_send_message. This will result in return to the caller without waiting in mbox_send_message even when it's blocking Tx.
This patch fixes the issue by waiting for the completion always if Tx is in blocking mode.
--- drivers/mailbox/mailbox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/mailbox/mailbox.c +1 -1
@@ -255,7 +255,7 @@ int mbox_send_message(struct mbox_chan *if (chan->txdone_method ==TXDONE_BY_POLL )poll_txdone ((unsigned long )chan->mbox); -if (chan->cl->tx_block && chan->active_req) { +if (chan->cl->tx_block) {unsigned long wait;int ret;
Patches currently in stable-queue which might be from [email protected] are
queue-3.18/mailbox-always-wait-in-mbox_send_message-for-blocking-tx-mode.patch queue-3.18/mailbox-skip-complete-wait-event-if-timer-expired.patch queue-3.18/mailbox-handle-empty-message-in-tx_tick.patch