tpm_tis: Clean up locality release
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 1 Oct 2020 18:09:22 +0000 (11:09 -0700)
committerJarkko Sakkinen <jarkko@kernel.org>
Tue, 16 Feb 2021 08:40:27 +0000 (10:40 +0200)
commite42acf104d6e0bd7ccd2f09103d5be5e6d3c637c
treeb7949eaba11e21b28354ed9ae16482b51157a30d
parent3d9ae54af1d02a7c0edc55c77d7df2b921e58a87
tpm_tis: Clean up locality release

The current release locality code seems to be based on the
misunderstanding that the TPM interrupts when a locality is released:
it doesn't, only when the locality is acquired.

Furthermore, there seems to be no point in waiting for the locality to
be released.  All it does is penalize the last TPM user.  However, if
there's no next TPM user, this is a pointless wait and if there is a
next TPM user, they'll pay the penalty waiting for the new locality
(or possibly not if it's the same as the old locality).

Fix the code by making release_locality as simple write to release
with no waiting for completion.

Cc: stable@ger.kernel.org
Fixes: 33bafe90824b ("tpm_tis: verify locality released before returning from release_locality")
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
drivers/char/tpm/tpm_tis_core.c