diff options
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/delay.h')
-rw-r--r-- | sys/compat/linuxkpi/common/include/linux/delay.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/delay.h b/sys/compat/linuxkpi/common/include/linux/delay.h index da38662087e4..32997071c2ae 100644 --- a/sys/compat/linuxkpi/common/include/linux/delay.h +++ b/sys/compat/linuxkpi/common/include/linux/delay.h @@ -36,13 +36,19 @@ #include <sys/systm.h> static inline void -linux_msleep(int ms) +linux_msleep(unsigned int ms) { - pause("lnxsleep", msecs_to_jiffies(ms)); + /* guard against invalid values */ + if (ms == 0) + ms = 1; + pause_sbt("lnxsleep", SBT_1MS * ms, 0, C_HARDCLOCK); } #undef msleep -#define msleep linux_msleep +#define msleep(ms) linux_msleep(ms) + +#undef msleep_interruptible +#define msleep_interruptible(ms) linux_msleep_interruptible(ms) #define udelay(t) DELAY(t) @@ -65,4 +71,6 @@ usleep_range(unsigned long min, unsigned long max) DELAY(min); } +extern unsigned int linux_msleep_interruptible(unsigned int ms); + #endif /* _LINUX_DELAY_H_ */ |