Patch "mailbox: imx: Fix Tx doorbell shutdown path" has been added to the 4.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    mailbox: imx: Fix Tx doorbell shutdown path

to the 4.19-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-imx-fix-tx-doorbell-shutdown-path.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 54c1349dfd74de42c1f48272672f64d87a01d757
Author: Daniel Baluta <daniel.baluta@xxxxxxx>
Date:   Wed Oct 9 16:07:18 2019 +0800

    mailbox: imx: Fix Tx doorbell shutdown path
    
    [ Upstream commit bf159d151a0b844be28882f39e316b5800acaa2b ]
    
    Tx doorbell is handled by txdb_tasklet and doesn't
    have an associated IRQ.
    
    Anyhow, imx_mu_shutdown ignores this and tries to
    free an IRQ that wasn't requested for Tx DB resulting
    in the following warning:
    
    [    1.967644] Trying to free already-free IRQ 26
    [    1.972108] WARNING: CPU: 2 PID: 157 at kernel/irq/manage.c:1708 __free_irq+0xc0/0x358
    [    1.980024] Modules linked in:
    [    1.983088] CPU: 2 PID: 157 Comm: kworker/2:1 Tainted: G
    [    1.993524] Hardware name: Freescale i.MX8QXP MEK (DT)
    [    1.998668] Workqueue: events deferred_probe_work_func
    [    2.003812] pstate: 60000085 (nZCv daIf -PAN -UAO)
    [    2.008607] pc : __free_irq+0xc0/0x358
    [    2.012364] lr : __free_irq+0xc0/0x358
    [    2.016111] sp : ffff00001179b7e0
    [    2.019422] x29: ffff00001179b7e0 x28: 0000000000000018
    [    2.024736] x27: ffff000011233000 x26: 0000000000000004
    [    2.030053] x25: 000000000000001a x24: ffff80083bec74d4
    [    2.035369] x23: 0000000000000000 x22: ffff80083bec7588
    [    2.040686] x21: ffff80083b1fe8d8 x20: ffff80083bec7400
    [    2.046003] x19: 0000000000000000 x18: ffffffffffffffff
    [    2.051320] x17: 0000000000000000 x16: 0000000000000000
    [    2.056637] x15: ffff0000111296c8 x14: ffff00009179b517
    [    2.061953] x13: ffff00001179b525 x12: ffff000011142000
    [    2.067270] x11: ffff000011129f20 x10: ffff0000105da970
    [    2.072587] x9 : 00000000ffffffd0 x8 : 0000000000000194
    [    2.077903] x7 : 612065657266206f x6 : ffff0000111e7b09
    [    2.083220] x5 : 0000000000000003 x4 : 0000000000000000
    [    2.088537] x3 : 0000000000000000 x2 : 00000000ffffffff
    [    2.093854] x1 : 28b70f0a2b60a500 x0 : 0000000000000000
    [    2.099173] Call trace:
    [    2.101618]  __free_irq+0xc0/0x358
    [    2.105021]  free_irq+0x38/0x98
    [    2.108170]  imx_mu_shutdown+0x90/0xb0
    [    2.111921]  mbox_free_channel.part.2+0x24/0xb8
    [    2.116453]  mbox_free_channel+0x18/0x28
    
    This bug is present from the beginning of times.
    
    Cc: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
    Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxx>
    Signed-off-by: Richard Zhu <hongxing.zhu@xxxxxxx>
    Reviewed-by: Dong Aisheng <aisheng.dong@xxxxxxx>
    Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
index 363d35d5e49d..2f47023cab2b 100644
--- a/drivers/mailbox/imx-mailbox.c
+++ b/drivers/mailbox/imx-mailbox.c
@@ -214,8 +214,10 @@ static void imx_mu_shutdown(struct mbox_chan *chan)
 	struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox);
 	struct imx_mu_con_priv *cp = chan->con_priv;
 
-	if (cp->type == IMX_MU_TYPE_TXDB)
+	if (cp->type == IMX_MU_TYPE_TXDB) {
 		tasklet_kill(&cp->txdb_tasklet);
+		return;
+	}
 
 	imx_mu_xcr_rmw(priv, 0,
 		   IMX_MU_xCR_TIEn(cp->idx) | IMX_MU_xCR_RIEn(cp->idx));



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux