Index: /trunk/src/VBox/Runtime/r0drv/linux/thread-r0drv-linux.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/linux/thread-r0drv-linux.c	(revision 19940)
+++ /trunk/src/VBox/Runtime/r0drv/linux/thread-r0drv-linux.c	(revision 19941)
@@ -72,5 +72,13 @@
 {
     Assert(hThread == NIL_RTTHREAD);
-    return !in_atomic() && !irqs_disabled();
+#ifdef CONFIG_PREEMPT
+# ifdef preemptible
+    return preemptible();
+# else
+    return preempt_count() == 0 && !in_atomic() && !irqs_disabled();
+# endif
+#else
+    return false;
+#endif
 }
 
