Hi Marcin,

In the current clear_interruption function, reading the TPM_INT_STATUS after a 
write has no effect (aka: flushing the current request).
I am removing it because the interrupt value retrieved after this read is never 
used.

The only thing I can think of would to verify that the TPM_INT_STATUS got the 
expected state and return a status code in case of error.
However, I believe in case of such situation, the TPM will generate other error 
such as transmission error that will be detected on the other layers.

Best Regards
Christophe

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of 
Marcin Obara
Sent: mardi 14 octobre 2014 10:18
To: Christophe Ricard
Cc: [email protected]; [email protected]; [email protected]; 
[email protected]; Jean-Luc BLANC; tpmdd-devel; Christophe Henri RICARD
Subject: Re: [tpmdd-devel] [PATCH v3 12/15] tpm/tpm_i2c_stm_st33: Remove 
useless i2c read on interrupt registers

Wasn't last read required for flush write?

2014-10-13 22:23 GMT+02:00 Christophe Ricard <[email protected]>:
> Remove useless i2c read on TPM_INT_ENABLE and TPM_INT_STATUS
>
> Signed-off-by: Christophe Ricard <[email protected]>
> ---
>  drivers/char/tpm/tpm_i2c_stm_st33.c | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/drivers/char/tpm/tpm_i2c_stm_st33.c 
> b/drivers/char/tpm/tpm_i2c_stm_st33.c
> index 388bb64..ed4176e 100644
> --- a/drivers/char/tpm/tpm_i2c_stm_st33.c
> +++ b/drivers/char/tpm/tpm_i2c_stm_st33.c
> @@ -184,7 +184,6 @@ static void clear_interruption(struct tpm_stm_dev 
> *tpm_dev)
>
>         I2C_READ_DATA(tpm_dev, TPM_INT_STATUS, &interrupt, 1);
>         I2C_WRITE_DATA(tpm_dev, TPM_INT_STATUS, &interrupt, 1);
> -       I2C_READ_DATA(tpm_dev, TPM_INT_STATUS, &interrupt, 1);
>  } /* clear_interruption() */

Reply via email to