diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/kernel.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index afdb0bd1d3..06b2fc1039 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c | |||
@@ -37,12 +37,12 @@ void kernel_init(void) | |||
37 | 37 | ||
38 | void sleep(int ticks) | 38 | void sleep(int ticks) |
39 | { | 39 | { |
40 | int timeout = current_tick + ticks; | 40 | /* Always sleep at least 1 tick */ |
41 | int timeout = current_tick + ticks + 1; | ||
41 | 42 | ||
42 | /* always yield at least once */ | 43 | while (TIME_BEFORE( current_tick, timeout )) { |
43 | do { | ||
44 | yield(); | 44 | yield(); |
45 | } while (TIME_BEFORE( current_tick, timeout )); | 45 | } |
46 | } | 46 | } |
47 | 47 | ||
48 | void yield(void) | 48 | void yield(void) |