From: Joe Zhu <[email protected]>

client does not know and not care about how controller implement tx done.
mbox_client_txdone() may be called when controller uses irq method.

Signed-off-by: Joe Zhu <[email protected]>
---
 drivers/mailbox/mailbox.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
index 0b821a5b2db8..116124adf188 100644
--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -189,7 +189,9 @@ EXPORT_SYMBOL_GPL(mbox_chan_txdone);
 void mbox_client_txdone(struct mbox_chan *chan, int r)
 {
        if (unlikely(!(chan->txdone_method & TXDONE_BY_ACK))) {
-               dev_err(chan->mbox->dev, "Client can't run the TX ticker\n");
+               if (unlikely(!(chan->txdone_method & TXDONE_BY_IRQ)))
+                       dev_err(chan->mbox->dev,
+                              "Client can't run the TX ticker\n");
                return;
        }
 
-- 
2.17.1

Reply via email to