From dab67b5d19b0e004249d5a850e283823a0e60d40 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Wed, 23 Nov 2016 16:46:00 +1100 Subject: tpm_i2c_interface: set timeout before each request The i2c code manipulates req->timeout, so it has to be reset before re-sending. Signed-off-by: Stewart Smith Tested-by: Claudio Carvalho Signed-off-by: Stewart Smith --- libstb/drivers/tpm_i2c_interface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libstb') diff --git a/libstb/drivers/tpm_i2c_interface.c b/libstb/drivers/tpm_i2c_interface.c index 4d136fd..89f5ba6 100644 --- a/libstb/drivers/tpm_i2c_interface.c +++ b/libstb/drivers/tpm_i2c_interface.c @@ -99,11 +99,11 @@ int tpm_i2c_request_send(int tpm_bus_id, int tpm_dev_addr, int read_write, * since the I2C master's timeout is too short (1ms per byte). */ timeout = (buflen + offset_bytes + 2) * I2C_BYTE_TIMEOUT_MS; - i2c_set_req_timeout(req, timeout); for (retries = 0; retries <= TPM_MAX_NACK_RETRIES; retries++) { rc = 1; waited = 0; + i2c_set_req_timeout(req, timeout); i2c_queue_req(req); do { -- cgit v1.1