diff options
Diffstat (limited to 'common/clock.c')
-rw-r--r-- | common/clock.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/common/clock.c b/common/clock.c index 2e4e9d7dfc..d500e5c539 100644 --- a/common/clock.c +++ b/common/clock.c @@ -57,17 +57,23 @@ uint32_t clocksource_hz2mult(uint32_t hz, uint32_t shift_constant) int is_timeout(uint64_t start_ns, uint64_t time_offset_ns) { + if (ctrlc ()) + return -1; + if (start_ns + time_offset_ns < get_time_ns()) return 1; else return 0; } -void udelay(unsigned long usecs) +int udelay(unsigned long usecs) { uint64_t start = get_time_ns(); - while(!is_timeout(start, usecs * 1000)); + while(!is_timeout(start, usecs * 1000)) + if (ctrlc ()) + return -1; + return 0; } void mdelay(unsigned long msecs) |