[SCSI] arcmsr: Fix hardware wait loops

Remove _interruptible, since receiving a signal while waiting on a
hardware condition will simply cause the driver to busy-wait.

Using msleep_interruptible() is rarely the right thing to do, when
waiting on a hardware condition to change.

Also, replace msleep with ssleep while doing this, where appropriate.

[jejb: fix up merge conflict]

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Nick Cheng <nick.cheng@areca.com.tw>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
Jeff Garzik 2007-07-27 13:00:48 -04:00 committed by James Bottomley
parent 095862ab98
commit 24430458bb

View File

@ -2092,8 +2092,10 @@ static void arcmsr_iop_reset(struct AdapterControlBlock *acb)
if (atomic_read(&acb->ccboutstandingcount) != 0) { if (atomic_read(&acb->ccboutstandingcount) != 0) {
/* talk to iop 331 outstanding command aborted */ /* talk to iop 331 outstanding command aborted */
arcmsr_abort_allcmd(acb); arcmsr_abort_allcmd(acb);
/* wait for 3 sec for all command aborted*/ /* wait for 3 sec for all command aborted*/
ssleep(3); ssleep(3);
/* disable all outbound interrupt */ /* disable all outbound interrupt */
intmask_org = arcmsr_disable_outbound_ints(acb); intmask_org = arcmsr_disable_outbound_ints(acb);
/* clear all outbound posted Q */ /* clear all outbound posted Q */