Re: [PATCH] tpm: moves the delay_msec increment after sleep in tpm_transmit()

From: Jarkko Sakkinen
Date: Thu Apr 05 2018 - 06:12:39 EST


On Mon, Apr 02, 2018 at 09:50:06PM +0530, Nayna Jain wrote:
> Commit e2fb992d82c6 ("tpm: add retry logic") introduced a new loop to
> handle the TPM2_RC_RETRY error. The loop retries the command after
> sleeping for the specified time, which is incremented exponentially in
> every iteration. This patch fixes the initial sleep to be the default
> sleep time.

I think I understand the code change but do not understand what the
long description.

>
> Fixes: commit e2fb992d82c6 ("tpm: add retry logic")
> Signed-off-by: Nayna Jain <nayna@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx>
> ---
> drivers/char/tpm/tpm-interface.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
> index c43a9e28995e..6201aab374e6 100644
> --- a/drivers/char/tpm/tpm-interface.c
> +++ b/drivers/char/tpm/tpm-interface.c
> @@ -587,7 +587,7 @@ ssize_t tpm_transmit(struct tpm_chip *chip, struct tpm_space *space,
> */
> if (rc == TPM2_RC_TESTING && cc == TPM2_CC_SELF_TEST)
> break;
> - delay_msec *= 2;
> +

Extra whitespace

> if (delay_msec > TPM2_DURATION_LONG) {
> if (rc == TPM2_RC_RETRY)
> dev_err(&chip->dev, "in retry loop\n");
> @@ -597,6 +597,7 @@ ssize_t tpm_transmit(struct tpm_chip *chip, struct tpm_space *space,
> break;
> }
> tpm_msleep(delay_msec);
> + delay_msec *= 2;
> memcpy(buf, save, save_size);
> }
> return ret;
> --
> 2.13.6
>

/Jarkko