Re: [PATCH v3 1/4] tpm: Use a threaded interrupt handler

From: Jarkko Sakkinen
Date: Mon May 03 2021 - 11:14:19 EST


On Sat, May 01, 2021 at 03:57:24PM +0200, Lino Sanfilippo wrote:
> The interrupt handler uses tpm_tis_read32() and tpm_tis_write32() to access
> the interrupt status register. In case of SPI those accesses are done with
> the spi_bus_lock mutex held. This means that the status register cannot
> be read or written in interrupt context.
>
> For this reason request a threaded interrupt handler so that the required
> accesses can be done in process context.
>
> Reviewed-by: Stefan Berger <stefanb@xxxxxxxxxxxxx>
> Signed-off-by: Lino Sanfilippo <LinoSanfilippo@xxxxxx>

No fixes tag.

The short summary scopes now the whole TPM subsystem ("tpm:"), but the fix
is targetted *only* for tpm_tis_spi. How about "tpm, tpm_tis_spi: Allow to
sleep in the interrupt handler"?

This also changes the semantics tpm_tis_*, not just tpm_tis_spi, which is
not acceptable. We cannot backport a fix like this.

Probably you should just add a parameter to tpm_tis_core_init() to hint
that threaded IRQ is required, and then only conditionally do so.

/Jarkko