From: sashiko-bot@kernel.org
To: "Joshua Crofts" <crofts@kernel.org>
Cc: linux-i3c@lists.infradead.org, imx@lists.linux.dev,
Frank.Li@kernel.org,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>
Subject: Re: [PATCH 1/2] i3c: dw: remove redundant pm_runtime_dont_use_autosuspend() calls
Date: Sat, 07 Nov 2026 11:12:02 +0000 [thread overview]
Message-ID: <sashiko-outbox-202846@kernel.org> (raw)
In-Reply-To: <20261107-dont-use-autosuspend-i3c-v1-1-80a1546354ce@kernel.org>
Thank you for your contribution! Sashiko AI review found no new issues
in this patch, but noticed 1 related pre-existing issue it does not
introduce:
- [Medium] i3c: master: dw: clock enable count underflow in
dw_i3c_common_remove() [1]
--
commit 4f7b7a8b26800680d2cdbe5fe6acbbf1f93c63ec
Author: Joshua Crofts <crofts@kernel.org>
i3c: dw: remove redundant pm_runtime_dont_use_autosuspend() calls
This commit removes redundant pm_runtime_dont_use_autosuspend() calls from
dw_i3c_common_probe() and dw_i3c_common_remove().
> diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
> index d1119f203d1b6..f8fed797e0e4d 100644
> --- a/drivers/i3c/master/dw-i3c-master.c
> +++ b/drivers/i3c/master/dw-i3c-master.c
[ ... ]
> @@ -1792,7 +1791,6 @@ void dw_i3c_common_remove(struct dw_i3c_master *master)
>
> pm_runtime_disable(master->dev);
> pm_runtime_set_suspended(master->dev);
> - pm_runtime_dont_use_autosuspend(master->dev);
> }
> EXPORT_SYMBOL_GPL(dw_i3c_common_remove);
[Severity: Medium]
This problem wasn't introduced by this patch, but can unbinding a
runtime-suspended controller underflow the clock enable counts [1]?
dw_i3c_common_probe() acquires core_clk and pclk via
devm_clk_get_optional_enabled(), which registers a devres action to call
clk_disable_unprepare() on removal. However,
dw_i3c_master_runtime_suspend() also disables these clocks via
dw_i3c_master_disable_clks(). If the device is runtime-suspended when
dw_i3c_common_remove() disables runtime PM without resuming the device,
devres will disable the already-disabled clocks and trigger a clock
enable count underflow warning.
[1] https://sashiko.dev/#/bug/linux-2e78b07f-df35-42bd-b4ae-71873b79b67f
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261107-dont-use-autosuspend-i3c-v1-0-80a1546354ce@kernel.org?part=1
WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Joshua Crofts" <crofts@kernel.org>
Cc: linux-i3c@lists.infradead.org, imx@lists.linux.dev,
Frank.Li@kernel.org,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>
Subject: Re: [PATCH 1/2] i3c: dw: remove redundant pm_runtime_dont_use_autosuspend() calls
Date: Sat, 07 Nov 2026 11:12:02 +0000 [thread overview]
Message-ID: <sashiko-outbox-202846@kernel.org> (raw)
In-Reply-To: <20261107-dont-use-autosuspend-i3c-v1-1-80a1546354ce@kernel.org>
Thank you for your contribution! Sashiko AI review found no new issues
in this patch, but noticed 1 related pre-existing issue it does not
introduce:
- [Medium] i3c: master: dw: clock enable count underflow in
dw_i3c_common_remove() [1]
--
commit 4f7b7a8b26800680d2cdbe5fe6acbbf1f93c63ec
Author: Joshua Crofts <crofts@kernel.org>
i3c: dw: remove redundant pm_runtime_dont_use_autosuspend() calls
This commit removes redundant pm_runtime_dont_use_autosuspend() calls from
dw_i3c_common_probe() and dw_i3c_common_remove().
> diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
> index d1119f203d1b6..f8fed797e0e4d 100644
> --- a/drivers/i3c/master/dw-i3c-master.c
> +++ b/drivers/i3c/master/dw-i3c-master.c
[ ... ]
> @@ -1792,7 +1791,6 @@ void dw_i3c_common_remove(struct dw_i3c_master *master)
>
> pm_runtime_disable(master->dev);
> pm_runtime_set_suspended(master->dev);
> - pm_runtime_dont_use_autosuspend(master->dev);
> }
> EXPORT_SYMBOL_GPL(dw_i3c_common_remove);
[Severity: Medium]
This problem wasn't introduced by this patch, but can unbinding a
runtime-suspended controller underflow the clock enable counts [1]?
dw_i3c_common_probe() acquires core_clk and pclk via
devm_clk_get_optional_enabled(), which registers a devres action to call
clk_disable_unprepare() on removal. However,
dw_i3c_master_runtime_suspend() also disables these clocks via
dw_i3c_master_disable_clks(). If the device is runtime-suspended when
dw_i3c_common_remove() disables runtime PM without resuming the device,
devres will disable the already-disabled clocks and trigger a clock
enable count underflow warning.
[1] https://sashiko.dev/#/bug/linux-2e78b07f-df35-42bd-b4ae-71873b79b67f
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261107-dont-use-autosuspend-i3c-v1-0-80a1546354ce@kernel.org?part=1
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
next prev parent reply other threads:[~2026-11-07 11:12 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-07 11:06 [PATCH 0/2] i3c: remove redundant pm_runtime_dont_use_autosuspend() calls Joshua Crofts
2026-11-07 11:06 ` Joshua Crofts
2026-11-07 11:06 ` [PATCH 1/2] i3c: dw: " Joshua Crofts
2026-11-07 11:06 ` Joshua Crofts
2026-11-07 11:12 ` sashiko-bot [this message]
2026-11-07 11:12 ` sashiko-bot
2026-11-11 19:37 ` Frank Li
2026-11-11 19:37 ` Frank Li
2026-11-07 11:06 ` [PATCH 2/2] i3c: master: svc: " Joshua Crofts
2026-11-07 11:06 ` Joshua Crofts
2026-11-07 11:19 ` sashiko-bot
2026-11-07 11:19 ` sashiko-bot
2026-11-07 12:30 ` Joshua Crofts
2026-11-07 12:30 ` Joshua Crofts
2026-11-11 19:43 ` Frank Li
2026-11-11 19:43 ` Frank Li
2026-11-12 7:46 ` Joshua Crofts
2026-11-12 7:46 ` Joshua Crofts
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=sashiko-outbox-202846@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=alexandre.belloni@bootlin.com \
--cc=crofts@kernel.org \
--cc=imx@lists.linux.dev \
--cc=linux-i3c@lists.infradead.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.