mirror of
https://github.com/torvalds/linux.git
synced 2025-01-01 15:51:46 +00:00
tpm: add sleep only for retry in i2c_nuvoton_write_status()
Currently, there is an unnecessary 1 msec delay added in i2c_nuvoton_write_status() for the successful case. This function is called multiple times during send() and recv(), which implies adding multiple extra delays for every TPM operation. This patch calls usleep_range() only if retry is to be done. Signed-off-by: Nayna Jain <nayna@linux.vnet.ibm.com> Cc: stable@vger.kernel.org (linux-4.8) Reviewed-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
This commit is contained in:
parent
2d2e376f05
commit
0afb7118ae
@ -124,8 +124,9 @@ static s32 i2c_nuvoton_write_status(struct i2c_client *client, u8 data)
|
||||
/* this causes the current command to be aborted */
|
||||
for (i = 0, status = -1; i < TPM_I2C_RETRY_COUNT && status < 0; i++) {
|
||||
status = i2c_nuvoton_write_buf(client, TPM_STS, 1, &data);
|
||||
usleep_range(TPM_I2C_BUS_DELAY, TPM_I2C_BUS_DELAY
|
||||
+ TPM_I2C_DELAY_RANGE);
|
||||
if (status < 0)
|
||||
usleep_range(TPM_I2C_BUS_DELAY, TPM_I2C_BUS_DELAY
|
||||
+ TPM_I2C_DELAY_RANGE);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user