From b81c1555ef7025a23c8e1e6e27259983adac9e5d Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Sun, 27 Aug 2017 15:56:11 +0200 Subject: imx233: fix potential bug in udelay Change-Id: I5c8f5d9917f7a3353862c856bd9bbbbe9b291b1d --- firmware/target/arm/imx233/system-imx233.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'firmware/target/arm') diff --git a/firmware/target/arm/imx233/system-imx233.c b/firmware/target/arm/imx233/system-imx233.c index 165a32d143..078e052b30 100644 --- a/firmware/target/arm/imx233/system-imx233.c +++ b/firmware/target/arm/imx233/system-imx233.c @@ -257,7 +257,9 @@ void imx233_reset_block(volatile uint32_t *block_reg) void udelay(unsigned us) { uint32_t ref = HW_DIGCTL_MICROSECONDS; - while(!imx233_us_elapsed(ref, us)); + /* increase number of us by 1 to make sure we wait *at least* the requested + * time */ + while(!imx233_us_elapsed(ref, us + 1)); } void imx233_digctl_set_arm_cache_timings(unsigned timings) -- cgit v1.2.3