From: Domen Puncer <domen@coderock.org>

Use ssleep() instead of schedule_timeout() to guarantee the task delays as
expected.  The original code does use TASK_INTERRUPTIBLE, but does not check
for signals or early return from schedule_timeout() so ssleep() seems more
appropriate.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/message/fusion/mptbase.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

diff -puN drivers/message/fusion/mptbase.c~message-mptbase-replace-schedule_timeout-with-ssleep drivers/message/fusion/mptbase.c
--- 25/drivers/message/fusion/mptbase.c~message-mptbase-replace-schedule_timeout-with-ssleep	2005-03-06 19:57:41.000000000 -0800
+++ 25-akpm/drivers/message/fusion/mptbase.c	2005-03-06 19:57:41.000000000 -0800
@@ -3137,8 +3137,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ign
 
 				/* wait 1 sec */
 				if (sleepFlag == CAN_SLEEP) {
-					set_current_state(TASK_INTERRUPTIBLE);
-					schedule_timeout(1000 * HZ / 1000);
+					ssleep(1);
 				} else {
 					mdelay (1000);
 				}
_