Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp6860212ybi; Wed, 31 Jul 2019 23:12:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqzI+nPCSLfsKdE7CRHZ862i4CA0DUJFvnckyOvMeO8eWTidOr23MATnTsKbdt2JEafmvG7P X-Received: by 2002:a17:902:54d:: with SMTP id 71mr121130827plf.140.1564639974580; Wed, 31 Jul 2019 23:12:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564639974; cv=none; d=google.com; s=arc-20160816; b=AWN0P/xQpaTpgkyt0dl1oh6hjdl9a0171xdzzgQlcmx5vDxGDw1VkLSvxMxu6Oa0lh sZXOQXSZEslxXs/NS3G31CA825o3zCw2m1wa7asAhrXLc+ClglROUqZ2jBNW5EAusJmU nHe/PGMDrwJ3/PxWky+yG48tRhrL6inPhzBbAeEAGGw9fk8C6aWqwp5ZHb80zuk/BIBM IvQWjtoo89zndvCf8FhXnBNPkt8IFTRWSR7aA9lr16TZFRjDDn180WA4Fq4GUAqzQc3l uE5ekeUMbkeG124ZvH7BPbEOKdjMkAvSmTLHWd+XPMO4MtVaBw8nAaAwab1o6fagoA3K XMOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=I08WXm5Jl4/LoMz8YKB9vaPoTbVyUgPVYWWyWWOnmXo=; b=RKm6TOHjlUjVKI2lPHIge2HFL6dOgYBPKXHsxOjdmWiLKnEp6zWp6z4j0CyHaAbxIP SMKwDp8MKvPM+0VOrwM7AIEGHH3o9r87pUxIirobVFGZmIrAeOCB1NVbqii6XeKoiZQW wccQIqhwIeypAShdSYK+19Zw3aLapdCfr7b1j7upfWpiooqkxhQwIK2/3AChH0QNbuSY qpAilsWaEnECs1hsiRsoYLeMA2z6FRaiO6FdCQaG0WUHe0NyfnE8FYnvCPiJUliykAta Vl+l4H5pelRI5CUPYkHsZ3cJLwsipskqt21Ctyx5jvCD5+fzisPHBGD+P/1vED2q/sgQ EsDA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m12si33779743plt.413.2019.07.31.23.12.39; Wed, 31 Jul 2019 23:12:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729413AbfHAGKf (ORCPT + 99 others); Thu, 1 Aug 2019 02:10:35 -0400 Received: from metis.ext.pengutronix.de ([85.220.165.71]:49365 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725790AbfHAGKf (ORCPT ); Thu, 1 Aug 2019 02:10:35 -0400 Received: from pty.hi.pengutronix.de ([2001:67c:670:100:1d::c5]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ht4IM-0003CT-4e; Thu, 01 Aug 2019 08:10:34 +0200 Received: from ore by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1ht4IL-0008Bt-FI; Thu, 01 Aug 2019 08:10:33 +0200 Date: Thu, 1 Aug 2019 08:10:33 +0200 From: Oleksij Rempel To: Daniel Baluta Cc: shawnguo@kernel.org, jassisinghbrar@gmail.com, s.hauer@pengutronix.de, linux-kernel@vger.kernel.org, linux-imx@nxp.com, kernel@pengutronix.de, festevam@gmail.com, linux-arm-kernel@lists.infradead.org, hongxing.zhu@nxp.com, aisheng.dong@nxp.com Subject: Re: [PATCH] mailbox: imx: Fix Tx doorbell shutdown path Message-ID: <20190801061033.4diqrc4x4mighyju@pengutronix.de> References: <20190731205539.13997-1-daniel.baluta@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190731205539.13997-1-daniel.baluta@nxp.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 07:55:26 up 75 days, 12:13, 47 users, load average: 0.15, 0.06, 0.01 User-Agent: NeoMutt/20170113 (1.7.2) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c5 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Daniel, your patch is in conflicht with Richard's Zhu patch "[PATCH v3] mailbox: imx: add support for imx v1 mu". Please sync your works. On Wed, Jul 31, 2019 at 11:55:39PM +0300, Daniel Baluta wrote: > 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 > Fixes: 2bb7005696e2246 ("mailbox: Add support for i.MX messaging unit") > Signed-off-by: Daniel Baluta > --- > drivers/mailbox/imx-mailbox.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c > index 9f74dee1a58c..957c10c4e674 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) | IMX_MU_xCR_GIEn(cp->idx)); Looks like here is one more bug "from the beginning of times" :) The imx_mu_xcr_rmw() should disable only one channel depending on the type of channel. It should be: switch (cp->type) { case IMX_MU_TYPE_TX: imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_TIEn(cp->idx)); break; case IMX_MU_TYPE_RX: imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_RIEn(cp->idx)); break; case IMX_MU_TYPE_RXDB: imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_GIEn(cp->idx)); break; default: break; } Right now I'm on vocation and have nothing against, if you'll provide this fix. -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |