diff mbox series

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

Message ID 20211012124803.11956-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. 12, 2021, 12:48 p.m. UTC
the addr can not be written without request_locality.

Fixes: e6aef069b6e9 ("tpm_tis: convert to using locality callbacks")
Signed-off-by: Chen Jun <chenjun102@huawei.com>
---
 drivers/char/tpm/tpm_tis_core.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Jarkko Sakkinen Oct. 12, 2021, 5:34 p.m. UTC | #1
On Tue, 2021-10-12 at 12:48 +0000, Chen Jun wrote:
> the addr can not be written without request_locality.

So, you need to describe the commit does here, e.g. you could replace
what you have with

"
Locality is not appropriately requested before writing the int mask.
Add the missing boilerplate.
"

I.e. for any commit you need to be able to describe what you are doing,
not just the sympton.

> 
> Fixes: e6aef069b6e9 ("tpm_tis: convert to using locality callbacks")
> Signed-off-by: Chen Jun <chenjun102@huawei.com>
> ---
>  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)

Thanks a lot for the fix. If you could fix the commit message,
I'm happy to apply this.

Also add:

Cc: stable@vger.kernel.org

/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)