aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linuxkpi/common/include/linux/delay.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/delay.h')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/delay.h14
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_ */