mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v2] i2c: at91: Fix driver for SAMA5D2 SoC
@ 2025-01-13  7:02 Alexander Shiyan
  2025-01-13 13:17 ` Ahmad Fatoum
  2025-01-14  9:52 ` Sascha Hauer
  0 siblings, 2 replies; 5+ messages in thread
From: Alexander Shiyan @ 2025-01-13  7:02 UTC (permalink / raw)
  To: barebox; +Cc: Alexander Shiyan

Most bits of the AT91 SR status register are cleared after reading,
so we may lose the status at the end of the wait loop.
Let's use the value already readed to check for "completed" status.

Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
 drivers/i2c/busses/i2c-at91.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index dbc5aa4ddf..8929dbaede 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -276,7 +276,7 @@ static int at91_twi_wait_completion(struct at91_twi_dev *dev)
 
 		dev->transfer_status |= status;
 
-	} while (!(at91_twi_read(dev, AT91_TWI_SR) & AT91_TWI_TXCOMP));
+	} while (!(status & AT91_TWI_TXCOMP));
 
 	at91_disable_twi_interrupts(dev);
 
-- 
2.39.1




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-01-14  9:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-13  7:02 [PATCH v2] i2c: at91: Fix driver for SAMA5D2 SoC Alexander Shiyan
2025-01-13 13:17 ` Ahmad Fatoum
2025-01-13 13:37   ` Alexander Shiyan
2025-01-14  9:27     ` Ahmad Fatoum
2025-01-14  9:52 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox