On Fri, 2019-09-06 at 14:37 +0200, Jan Lübbe wrote: > This is due to the SPI accesses performed by tis_int_handler (which > will sleep). Switching to devm_request_threaded_irq fixes this and > leads to a successful IRQ probe. Aah, right through tpm_tis_read32/write32(). This is definitely a new regression. Thanks for reporting this! This was completely missed when the support for other than TCG MMIO was implemented for the TIS driver. This should have a patch of it own with your reported-by unless you care to send bug fix for it. > But: It seems that the IRQ is not acked correctly, as the interrupt > line stays low. I suspect this is because the tpm_chip_stop from > http://git.infradead.org/users/jjs/linux-tpmdd.git/commitdiff/9b558deab2c5d7dc23d5f7a4064892ede482ad32 > happens before the threaded handler runs. I'm currently unable to > verify that though, as my build machine's disk just died. :/ I cannot recall all the nyances related to interrupt probing but with a quick look I wonder why it does not utilize int_queue. Then tpm_chip_stop() could be done synchronously. > Regards, > Jan /Jarkko