On Sat, May 9, 2026 at 8:51 PM Jarkko Sakkinen <[email protected]> wrote:
> wait_event_interruptible_timeout() evaluates its condition after setting > the current task state to TASK_INTERRUPTIBLE. > > With CONFIG_DEBUG_ATOMIC_SLEEP this triggers a warning when the IRQ wait > path is used: > > tpm_tis_status() > tpm_tis_spi_read_bytes() > tpm_tis_spi_transfer_full() > spi_bus_lock() > mutex_lock() > > Address this with the following measures: > > 1. Call wait_tpm_stat_cond() only while tasking is running. > 2. Use wait_woken() to wait for changes. > > Cc: [email protected] # v4.19+ > Cc: Linus Walleij <[email protected]> > Reported-by: Stefan Wahren <[email protected]> > Closes: > https://lore.kernel.org/linux-integrity/[email protected]/ > Fixes: 1a339b658d9d ("tpm_tis_spi: Pass the SPI IRQ down to the driver") > Signed-off-by: Jarkko Sakkinen <[email protected]> > --- > Linus' change only unmasked a pre-existing bug but it is the change > realizes it in tpm_tis_spi. Took me a while to understand this but looks right to me! Reviewed-by: Linus Walleij <[email protected]> Yours, Linus Walleij

