From: Jarkko Sakkinen <jarkko@kernel.org>
To: Peng Fan <peng.fan@nxp.com>
Cc: Stefan Wahren <wahrenst@gmx.net>, Peter Huewe <peterhuewe@gmx.de>,
Jason Gunthorpe <jgg@ziepe.ca>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-integrity@vger.kernel.org"
<linux-integrity@vger.kernel.org>,
"kernel@pengutronix.de" <kernel@pengutronix.de>,
Frank Li <frank.li@nxp.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
"imx@lists.linux.dev" <imx@lists.linux.dev>
Subject: Re: tpm: spi: do not call blocking ops when !TASK_RUNNING; during shutdown
Date: Tue, 21 Apr 2026 21:28:07 +0300 [thread overview]
Message-ID: <aefBt9T89WDFTTtF@kernel.org> (raw)
In-Reply-To: <PAXPR04MB84598325136E394E0A7D94D6882C2@PAXPR04MB8459.eurprd04.prod.outlook.com>
On Tue, Apr 21, 2026 at 09:04:43AM +0000, Peng Fan wrote:
> > Subject: tpm: spi: do not call blocking ops when !TASK_RUNNING;
> > during shutdown
> >
> > Hi,
> > we use a custom i.MX93 board, which based on Phytec Phycore i.MX93
> > with a TPM connected via SPI. If I enable
> > CONFIG_DEBUG_ATOMIC_SLEEP=y in our kernel config with mainline
> > kernel 6.18.23 and reboot our board, I will get the following warning:
> > ffff0000000d8000
>
> The issue seems at drivers/char/tpm/tpm_tis_core.c
> 94 rc = wait_event_interruptible_timeout(*queue,
> 95 wait_for_tpm_stat_cond(chip, sts_mask, check_cancel,
> 96 &canceled),
> 97 timeout);
>
> wait_event_interruptible_timeout set task to !TASK_RUNNING,
> but wait_for_tpm_stat_cond still calls into mutex_lock.
>
> Regards
> Peng
>
> > [ 43.422135] Call trace:
> > [ 43.424570] __might_sleep+0x74/0x7c (P)
> > [ 43.428487] mutex_lock+0x24/0x80
> > [ 43.431797] spi_bus_lock+0x20/0x50
> > [ 43.435281] tpm_tis_spi_transfer_full+0x70/0x2c4
> > [ 43.439979] tpm_tis_spi_read_bytes+0x3c/0x48
> > [ 43.444321] tpm_tis_status+0x58/0xf8
> > [ 43.447978] wait_for_tpm_stat_cond+0x30/0x90
> > [ 43.452329] wait_for_tpm_stat+0x1cc/0x2e0
> > [ 43.456419] tpm_tis_send_data+0xdc/0x334
> > [ 43.460423] tpm_tis_send_main+0x74/0x160
> > [ 43.464427] tpm_tis_send+0xd4/0x13c
> > [ 43.467998] tpm_transmit+0xc4/0x3c4
> > [ 43.471569] tpm_transmit_cmd+0x38/0xd4
> > [ 43.475399] tpm2_shutdown+0x6c/0xa4
> > [ 43.478970] tpm_class_shutdown+0x60/0x88
> > [ 43.482974] device_shutdown+0x130/0x25c
> > [ 43.486891] kernel_restart+0x44/0xa4
> > [ 43.490549] __do_sys_reboot+0x114/0x254
> > [ 43.494466] __arm64_sys_reboot+0x24/0x30
> > [ 43.498470] invoke_syscall+0x48/0x10c
> > [ 43.502214] el0_svc_common.constprop.0+0x40/0xe0
> > [ 43.506911] do_el0_svc+0x1c/0x28
> > [ 43.510222] el0_svc+0x34/0xec
> > [ 43.513273] el0t_64_sync_handler+0xa0/0xe4
> > [ 43.517441] el0t_64_sync+0x198/0x19c
> >
> > Best regards
On travel this week but thanks for the report. Investigating next weeek
In the meantime, patches are welcome (whcih I will review next week).
Br, Jarkko
prev parent reply other threads:[~2026-04-21 18:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-20 10:25 tpm: spi: do not call blocking ops when !TASK_RUNNING; during shutdown Stefan Wahren
2026-04-21 9:04 ` Peng Fan
2026-04-21 18:28 ` Jarkko Sakkinen [this message]
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=aefBt9T89WDFTTtF@kernel.org \
--to=jarkko@kernel.org \
--cc=frank.li@nxp.com \
--cc=imx@lists.linux.dev \
--cc=jgg@ziepe.ca \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-integrity@vger.kernel.org \
--cc=peng.fan@nxp.com \
--cc=peterhuewe@gmx.de \
--cc=s.hauer@pengutronix.de \
--cc=wahrenst@gmx.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox