Doing cond_resched() inside a spinlocked region might sleep, very rarely. 
It's worth a check.

Signed-off-by:  Andrew Morton <akpm@osdl.org>
---
 25-akpm/include/linux/sched.h |    1 +
 1 files changed, 1 insertion(+)
diff -puN include/linux/sched.h~cond_resched-might-sleep include/linux/sched.h
--- 25/include/linux/sched.h~cond_resched-might-sleep	2004-05-25 22:09:48.770613888 -0700
+++ 25-akpm/include/linux/sched.h	2004-05-25 22:09:48.774613280 -0700
@@ -1052,6 +1052,7 @@ static inline int need_resched(void)
 extern void __cond_resched(void);
 static inline void cond_resched(void)
 {
+	might_sleep();
 	if (need_resched())
 		__cond_resched();
 }
_