diff mbox series

[v2,1/1] tpm: add request_locality before write TPM_INT_ENABLE

Message ID 20211013062556.116504-1-chenjun102@huawei.com (mailing list archive)
State New, archived
Headers show
Series [v2,1/1] tpm: add request_locality before write TPM_INT_ENABLE | expand

Commit Message

Chen Jun Oct. 13, 2021, 6:25 a.m. UTC
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 <chenjun102@huawei.com>
---

 v2: rewrite the commit message.

 drivers/char/tpm/tpm_tis_core.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Jarkko Sakkinen Oct. 14, 2021, midnight UTC | #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 <chenjun102@huawei.com>
> ---
> 
>  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 <jarkko@kernel.org>

/Jarkko
Jarkko Sakkinen Oct. 26, 2021, 2:14 a.m. UTC | #2
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 <chenjun102@huawei.com>


Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

I'll queue this to v5.16-rc2 pull request (already closed
for rc1).

/Jarkko
diff mbox series

Patch

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)