um: fix os_timer_one_shot()

os_timer_one_shot() gets passed a value "unsigned long delta",
so must not have an "int ticks" as that actually ends up being
-1, and thus triggering a timer over and over again.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
Johannes Berg 2019-05-06 14:39:37 +02:00 committed by Richard Weinberger
parent bebe4681d0
commit fcd242c6c8
2 changed files with 2 additions and 2 deletions

View File

@ -252,7 +252,7 @@ extern void os_warn(const char *fmt, ...)
extern void os_idle_sleep(unsigned long long nsecs);
extern int os_timer_create(void* timer);
extern int os_timer_set_interval(void* timer, void* its);
extern int os_timer_one_shot(int ticks);
extern int os_timer_one_shot(unsigned long ticks);
extern long long os_timer_disable(void);
extern long os_timer_remain(void* timer);
extern void uml_idle_timer(void);

View File

@ -113,7 +113,7 @@ long os_timer_remain(void* timer)
return its.it_value.tv_nsec;
}
int os_timer_one_shot(int ticks)
int os_timer_one_shot(unsigned long ticks)
{
struct itimerspec its;
unsigned long long nsec;