[PATCH v15 08/28] tpm/tpm_tis: Close all localities
Josh Snyder
josh at code406.com
Sun Mar 29 15:57:51 PDT 2026
On Mon, Dec 15, 2025 at 03:32:56PM -0800, Ross Philipson wrote:
> From: "Daniel P. Smith" <dpsmith at apertussolutions.com>
> + if (check_locality(chip, i))
> + tpm_tis_relinquish_locality(chip, i);
When I applied this patch locally, tpm_chip's locality_count underflowed to -1
and no IO was performed. That is because tpm_tis_relinquish_locality is
implemented like so:
struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
mutex_lock(&priv->locality_count_mutex);
priv->locality_count--;
if (priv->locality_count == 0)
__tpm_tis_relinquish_locality(priv, l);
I was able to work around the issue by calling __tpm_tis_relinquish_locality
instead.
Thanks,
Josh
More information about the kexec
mailing list