Re: [GIT PULL] tpmdd updates for Linux v5.4

From: Dan Williams
Date: Wed Nov 20 2019 - 23:48:55 EST


On Mon, Sep 2, 2019 at 7:34 AM Jarkko Sakkinen
<jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote:
>
> Hi
>
> A new driver for fTPM living inside ARM TEE was added this round. In
> addition to that, there is three bug fixes and one clean up.
>
> /Jarkko
>
> The following changes since commit 8fb8e9e46261e0117cb3cffb6dd8bb7e08f8649b:
>
> Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma (2019-08-30 09:23:45 -0700)
>
> are available in the Git repository at:
>
> git://git.infradead.org/users/jjs/linux-tpmdd.git tags/tpmdd-next-20190902
>
> for you to fetch changes up to e8bd417aab0c72bfb54465596b16085702ba0405:
>
> tpm/tpm_ftpm_tee: Document fTPM TEE driver (2019-09-02 17:08:35 +0300)
>
> ----------------------------------------------------------------
> tpmdd updates for Linux v5.4
>
> ----------------------------------------------------------------
> Jarkko Sakkinen (1):
> tpm: Remove a deprecated comments about implicit sysfs locking
>
> Lukas Bulwahn (1):
> MAINTAINERS: fix style in KEYS-TRUSTED entry
>
> Sasha Levin (2):
> tpm/tpm_ftpm_tee: A driver for firmware TPM running inside TEE
> tpm/tpm_ftpm_tee: Document fTPM TEE driver
>
> Stefan Berger (2):
> tpm_tis_core: Turn on the TPM before probing IRQ's
> tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts

Hi Jarrko,

I'm replying here because I can't find the patches to reply to
directly from LKML.

Commit 7f064c378e2c "tpm_tis_core: Turn on the TPM before probing
IRQ's" in the v5.3-stable tree caused a regression on a pre-release
platform with a TPM2 device. The interrupt starts screaming when the
driver is loaded and does not stop until the device is force unbond
from the driver by:

echo IFX0740:00 > /sys/bus/platform/drivers/tpm_tis/unbind

I checked v5.4-rc8 and it has the same problem. I tried reverting:

1ea32c83c699 tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts
5b359c7c4372 tpm_tis_core: Turn on the TPM before probing IRQ's

Which silenced the screaming interrupt problem, but now the TPM is reporting:

[ 3.725131] tpm_tis IFX0740:00: 2.0 TPM (device-id 0x1B, rev-id 16)
[ 3.725358] tpm tpm0: tpm_try_transmit: send(): error -5
[ 3.725359] tpm tpm0: [Firmware Bug]: TPM interrupt not working,
polling instead

...at load, where it was not reporting this previously. Can you take a look?