All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Oleksij Rempel <o.rempel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Oleksij Rempel <linux@rempel-privat.de>,
	Wolfram Sang <wsa@kernel.org>, NXP Linux Team <linux-imx@nxp.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>,
	linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org
Subject: Re: [PATCH] i2c: imx: Fix external abort on early interrupt
Date: Fri, 12 Jun 2020 12:44:13 +0200	[thread overview]
Message-ID: <20200612104413.GC26056@pi3> (raw)
In-Reply-To: <2bc70a44-8b98-0da5-9408-15d6fa0c20fe@pengutronix.de>

On Fri, Jun 12, 2020 at 12:34:47PM +0200, Marc Kleine-Budde wrote:
> On 6/12/20 12:31 PM, Oleksij Rempel wrote:
> > On Fri, Jun 12, 2020 at 12:21:13PM +0200, Krzysztof Kozlowski wrote:
> >> On Fri, Jun 12, 2020 at 11:56:04AM +0200, Wolfram Sang wrote:
> >>> On Fri, Jun 12, 2020 at 11:29:41AM +0200, Krzysztof Kozlowski wrote:
> >>>> On Fri, Jun 12, 2020 at 11:05:17AM +0200, Wolfram Sang wrote:
> >>>>> On Wed, Jun 10, 2020 at 03:46:42PM +0200, Krzysztof Kozlowski wrote:
> >>>>>> If interrupt comes early (could be triggered with CONFIG_DEBUG_SHIRQ),
> >>>>>
> >>>>> That code is disabled since 2011 (6d83f94db95c ("genirq: Disable the
> >>>>> SHIRQ_DEBUG call in request_threaded_irq for now"))? So, you had this
> >>>>> without fake injection, I assume?
> >>>>
> >>>> No, I observed it only after enabling DEBUG_SHIRQ (to a kernel with
> >>>> some debugging options already).
> >>>
> >>> Interesting. Maybe probe was deferred and you got the extra irq when
> >>> deregistering?
> >>
> >> Yes, good catch. The abort happens right after deferred probe exit.  It
> >> could be then different reason than I thought - the interrupt is freed
> >> through devm infrastructure quite late.  At this time, the clock might
> >> be indeed disabled (error path of probe()).
> 
> From my point of view, the clocks are disabled as Oleksij pointed out, due to
> RUNTIME_PM at the end of probe():
> 
> > 	pm_runtime_mark_last_busy(&pdev->dev);
> > 	pm_runtime_put_autosuspend(&pdev->dev);

These lines come from regular successful probe path, not deferred error path.

The clock is indeed disabled but not because of runtime PM, but:
clk_disable:
	clk_disable_unprepare(i2c_imx->clk);


Best regards,
Krzysztof


WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Oleksij Rempel <linux@rempel-privat.de>,
	Wolfram Sang <wsa@kernel.org>,
	Oleksij Rempel <o.rempel@pengutronix.de>,
	NXP Linux Team <linux-imx@nxp.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org
Subject: Re: [PATCH] i2c: imx: Fix external abort on early interrupt
Date: Fri, 12 Jun 2020 12:44:13 +0200	[thread overview]
Message-ID: <20200612104413.GC26056@pi3> (raw)
In-Reply-To: <2bc70a44-8b98-0da5-9408-15d6fa0c20fe@pengutronix.de>

On Fri, Jun 12, 2020 at 12:34:47PM +0200, Marc Kleine-Budde wrote:
> On 6/12/20 12:31 PM, Oleksij Rempel wrote:
> > On Fri, Jun 12, 2020 at 12:21:13PM +0200, Krzysztof Kozlowski wrote:
> >> On Fri, Jun 12, 2020 at 11:56:04AM +0200, Wolfram Sang wrote:
> >>> On Fri, Jun 12, 2020 at 11:29:41AM +0200, Krzysztof Kozlowski wrote:
> >>>> On Fri, Jun 12, 2020 at 11:05:17AM +0200, Wolfram Sang wrote:
> >>>>> On Wed, Jun 10, 2020 at 03:46:42PM +0200, Krzysztof Kozlowski wrote:
> >>>>>> If interrupt comes early (could be triggered with CONFIG_DEBUG_SHIRQ),
> >>>>>
> >>>>> That code is disabled since 2011 (6d83f94db95c ("genirq: Disable the
> >>>>> SHIRQ_DEBUG call in request_threaded_irq for now"))? So, you had this
> >>>>> without fake injection, I assume?
> >>>>
> >>>> No, I observed it only after enabling DEBUG_SHIRQ (to a kernel with
> >>>> some debugging options already).
> >>>
> >>> Interesting. Maybe probe was deferred and you got the extra irq when
> >>> deregistering?
> >>
> >> Yes, good catch. The abort happens right after deferred probe exit.  It
> >> could be then different reason than I thought - the interrupt is freed
> >> through devm infrastructure quite late.  At this time, the clock might
> >> be indeed disabled (error path of probe()).
> 
> From my point of view, the clocks are disabled as Oleksij pointed out, due to
> RUNTIME_PM at the end of probe():
> 
> > 	pm_runtime_mark_last_busy(&pdev->dev);
> > 	pm_runtime_put_autosuspend(&pdev->dev);

These lines come from regular successful probe path, not deferred error path.

The clock is indeed disabled but not because of runtime PM, but:
clk_disable:
	clk_disable_unprepare(i2c_imx->clk);


Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-06-12 10:44 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-10 13:46 [PATCH] i2c: imx: Fix external abort on early interrupt Krzysztof Kozlowski
2020-06-10 13:46 ` Krzysztof Kozlowski
2020-06-12  5:51 ` Oleksij Rempel
2020-06-12  5:51   ` Oleksij Rempel
2020-06-12  7:38   ` Krzysztof Kozlowski
2020-06-12  7:38     ` Krzysztof Kozlowski
2020-06-12  8:02     ` Oleksij Rempel
2020-06-12  8:02       ` Oleksij Rempel
2020-06-12  8:23       ` Krzysztof Kozlowski
2020-06-12  8:23         ` Krzysztof Kozlowski
2020-06-12  9:05 ` Wolfram Sang
2020-06-12  9:05   ` Wolfram Sang
2020-06-12  9:29   ` Krzysztof Kozlowski
2020-06-12  9:29     ` Krzysztof Kozlowski
2020-06-12  9:56     ` Wolfram Sang
2020-06-12  9:56       ` Wolfram Sang
2020-06-12 10:21       ` Krzysztof Kozlowski
2020-06-12 10:21         ` Krzysztof Kozlowski
2020-06-12 10:31         ` Oleksij Rempel
2020-06-12 10:31           ` Oleksij Rempel
2020-06-12 10:34           ` Marc Kleine-Budde
2020-06-12 10:34             ` Marc Kleine-Budde
2020-06-12 10:44             ` Krzysztof Kozlowski [this message]
2020-06-12 10:44               ` Krzysztof Kozlowski
2020-06-12 10:50               ` Marc Kleine-Budde
2020-06-12 10:50                 ` Marc Kleine-Budde
2020-06-12 10:39           ` Krzysztof Kozlowski
2020-06-12 10:39             ` Krzysztof Kozlowski
2020-06-12 11:51             ` Wolfram Sang
2020-06-12 11:51               ` Wolfram Sang
2020-06-12 12:18               ` Marc Kleine-Budde
2020-06-12 12:18                 ` Marc Kleine-Budde
2020-06-12 13:00                 ` Wolfram Sang
2020-06-12 13:00                   ` Wolfram Sang
2020-06-12 13:09                   ` Krzysztof Kozlowski
2020-06-12 13:09                     ` Krzysztof Kozlowski
2020-06-15  7:37                   ` Aisheng Dong
2020-06-15  7:37                     ` Aisheng Dong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200612104413.GC26056@pi3 \
    --to=krzk@kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rempel-privat.de \
    --cc=mkl@pengutronix.de \
    --cc=o.rempel@pengutronix.de \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=wsa@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.