Locality is not appropriately requested before writing the int mask.
Add the missing boilerplate.
Fixes: e6aef069b6e9 ("tpm_tis: convert to using locality callbacks")
Signed-off-by: Chen Jun <[email protected]>
---
v2: rewrite the commit message.
drivers/char/tpm/tpm_tis_core.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
index 69579efb247b..bea587301917 100644
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -978,7 +978,15 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
intmask |= TPM_INTF_CMD_READY_INT | TPM_INTF_LOCALITY_CHANGE_INT |
TPM_INTF_DATA_AVAIL_INT | TPM_INTF_STS_VALID_INT;
intmask &= ~TPM_GLOBAL_INT_ENABLE;
+
+ rc = request_locality(chip, 0);
+ if (rc < 0) {
+ rc = -ENODEV;
+ goto out_err;
+ }
+
tpm_tis_write32(priv, TPM_INT_ENABLE(priv->locality), intmask);
+ release_locality(chip, 0);
rc = tpm_chip_start(chip);
if (rc)
--
2.17.1
On Wed, 2021-10-13 at 06:25 +0000, Chen Jun wrote:
> Locality is not appropriately requested before writing the int mask.
> Add the missing boilerplate.
>
> Fixes: e6aef069b6e9 ("tpm_tis: convert to using locality callbacks")
> Signed-off-by: Chen Jun <[email protected]>
> ---
>
> v2: rewrite the commit message.
>
> drivers/char/tpm/tpm_tis_core.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
> index 69579efb247b..bea587301917 100644
> --- a/drivers/char/tpm/tpm_tis_core.c
> +++ b/drivers/char/tpm/tpm_tis_core.c
> @@ -978,7 +978,15 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
> intmask |= TPM_INTF_CMD_READY_INT | TPM_INTF_LOCALITY_CHANGE_INT |
> TPM_INTF_DATA_AVAIL_INT | TPM_INTF_STS_VALID_INT;
> intmask &= ~TPM_GLOBAL_INT_ENABLE;
> +
> + rc = request_locality(chip, 0);
> + if (rc < 0) {
> + rc = -ENODEV;
> + goto out_err;
> + }
> +
> tpm_tis_write32(priv, TPM_INT_ENABLE(priv->locality), intmask);
> + release_locality(chip, 0);
>
> rc = tpm_chip_start(chip);
> if (rc)
Thank you.
Reviewed-by: Jarkko Sakkinen <[email protected]>
/Jarkko
On Wed, Oct 13, 2021 at 06:25:56AM +0000, Chen Jun wrote:
> Locality is not appropriately requested before writing the int mask.
> Add the missing boilerplate.
>
> Fixes: e6aef069b6e9 ("tpm_tis: convert to using locality callbacks")
> Signed-off-by: Chen Jun <[email protected]>
Reviewed-by: Jarkko Sakkinen <[email protected]>
I'll queue this to v5.16-rc2 pull request (already closed
for rc1).
/Jarkko