Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision d9ece1cb4b86e7a2d4c513bf4f6e95007768812f)
+++ kernel/generic/src/proc/thread.c	(revision 079f4402537f59cd1c6af7767c212795b7015ffd)
@@ -501,5 +501,12 @@
 void thread_sleep(uint32_t sec)
 {
-	thread_usleep(sec * 1000000);
+	/* Sleep in 1000 second steps to support
+	   full argument range */
+	while (sec > 0) {
+		uint32_t period = (sec > 1000) ? 1000 : sec;
+	
+		thread_usleep(period * 1000000);
+		sec -= period;
+	}
 }
 
@@ -575,7 +582,7 @@
 {
 	waitq_t wq;
-				  
+	
 	waitq_initialize(&wq);
-
+	
 	(void) waitq_sleep_timeout(&wq, usec, SYNCH_FLAGS_NON_BLOCKING);
 }
@@ -815,5 +822,5 @@
 unative_t sys_thread_usleep(uint32_t usec)
 {
-	thread_usleep(usec);	
+	thread_usleep(usec);
 	return 0;
 }
