Re: tpm: spi: do not call blocking ops when !TASK_RUNNING; during shutdown

Jarkko Sakkinen <[email protected]>
Newsgroups org.kernel.vger.linux-integrity,dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel
Message-ID <[email protected]>
Hi Stefan,

On Mon, Apr 20, 2026 at 12:25:21PM +0200, Stefan Wahren wrote:
> 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:

Please provide results with the latest mainline kernel.

> 
> [   43.287416] do not call blocking ops when !TASK_RUNNING; state=1 set at
> [<000000005a2107f3>] prepare_to_wait_event+0x54/0x14c
> [   43.299009] WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:8857
> __might_sleep+0x74/0x7c
> [   43.306920] Modules linked in: polyval_ce flexcan rtc_rv3028 can_dev
> mse102x phy_can_transceiver fuse autofs4
> [   43.316838] CPU: 0 UID: 0 PID: 1 Comm: systemd-shutdow Not tainted
> 6.18.23-00002-g626a194342f0 #2 PREEMPT
> [   43.326471] Hardware name: chargebyte Charge SOM Evaluation Kit (DT)
> [   43.332807] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS
> BTYPE=--)
> [   43.339757] pc : __might_sleep+0x74/0x7c
> [   43.343675] lr : __might_sleep+0x74/0x7c
> [   43.347592] sp : ffff800081aab720
> [   43.350894] x29: ffff800081aab720 x28: 0000000000000080 x27:
> ffff000000235880
> [   43.358018] x26: ffff800081897000 x25: 0000000000000018 x24:
> 0000000000000000
> [   43.365142] x23: ffff800081aab907 x22: 0000000000000000 x21:
> 0000000000000080
> [   43.372266] x20: 000000000000010f x19: ffff80008131cd00 x18:
> 0000000000000001
> [   43.379390] x17: 0000000000000000 x16: 000000000017d600 x15:
> ffff00003fda4680
> [   43.386514] x14: 0000000000017e01 x13: 0000000000000209 x12:
> 0000000000000000
> [   43.393638] x11: 00000000000000c0 x10: 0000000000000950 x9 :
> ffff800081aab5a0
> [   43.400762] x8 : ffff0000000d89b0 x7 : ffff00003fda3f00 x6 :
> 000000013417d29a
> [   43.407886] x5 : 0000000000000000 x4 : 0000000000000002 x3 :
> 0000000000000010
> [   43.415010] x2 : 0000000000000000 x1 : 0000000000000000 x0 :
> ffff0000000d8000
> [   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

BR, Jarkko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.