Once request is sent, and before receiving a response, the delay is required.
This patch fixes missing delay for before first response try.

Signed-off-by: Adrian Fiergolski <adrian.fiergol...@fastree3d.com>
---
 drivers/misc/atsha204a-i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
index 9d069fb33c..d264477927 100644
--- a/drivers/misc/atsha204a-i2c.c
+++ b/drivers/misc/atsha204a-i2c.c
@@ -280,6 +280,7 @@ static int atsha204a_transaction(struct udevice *dev, 
struct atsha204a_req *req,
        }
 
        do {
+               udelay(ATSHA204A_EXECTIME);
                res = atsha204a_recv_resp(dev, resp);
                if (!res || res == -EMSGSIZE || res == -EBADMSG)
                        break;
@@ -287,7 +288,6 @@ static int atsha204a_transaction(struct udevice *dev, 
struct atsha204a_req *req,
                debug("ATSHA204A transaction polling for response "
                      "(timeout = %d)\n", timeout);
 
-               udelay(ATSHA204A_EXECTIME);
                timeout -= ATSHA204A_EXECTIME;
        } while (timeout > 0);
 
-- 
2.34.1

Reply via email to