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: marcin.obara@xxxxxxxxx [mailto:marcin.obara@xxxxxxxxx] On Behalf Of Marcin Obara Sent: mardi 14 octobre 2014 10:18 To: Christophe Ricard Cc: peterhuewe@xxxxxx; ashley@xxxxxxxxxxxxx; tpmdd@xxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; 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 <christophe.ricard@xxxxxxxxx>: > Remove useless i2c read on TPM_INT_ENABLE and TPM_INT_STATUS > > Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> > --- > 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() */ ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f