diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-07-27 13:00:48 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-10-12 14:50:48 -0400 |
commit | 24430458bb924e371ff894e26bfa9f73707f53fb (patch) | |
tree | a2daedb710c7f41a80efd33be16412bef719d91b /drivers/scsi/arcmsr/arcmsr_hba.c | |
parent | 095862ab982a56fb4ea237420bb8fcf1393ca287 (diff) |
[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>
Diffstat (limited to 'drivers/scsi/arcmsr/arcmsr_hba.c')
-rw-r--r-- | drivers/scsi/arcmsr/arcmsr_hba.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c index 50e1310ce983..7832a10dc47f 100644 --- a/drivers/scsi/arcmsr/arcmsr_hba.c +++ b/drivers/scsi/arcmsr/arcmsr_hba.c | |||
@@ -2092,8 +2092,10 @@ static void arcmsr_iop_reset(struct AdapterControlBlock *acb) | |||
2092 | if (atomic_read(&acb->ccboutstandingcount) != 0) { | 2092 | if (atomic_read(&acb->ccboutstandingcount) != 0) { |
2093 | /* talk to iop 331 outstanding command aborted */ | 2093 | /* talk to iop 331 outstanding command aborted */ |
2094 | arcmsr_abort_allcmd(acb); | 2094 | arcmsr_abort_allcmd(acb); |
2095 | |||
2095 | /* wait for 3 sec for all command aborted*/ | 2096 | /* wait for 3 sec for all command aborted*/ |
2096 | ssleep(3); | 2097 | ssleep(3); |
2098 | |||
2097 | /* disable all outbound interrupt */ | 2099 | /* disable all outbound interrupt */ |
2098 | intmask_org = arcmsr_disable_outbound_ints(acb); | 2100 | intmask_org = arcmsr_disable_outbound_ints(acb); |
2099 | /* clear all outbound posted Q */ | 2101 | /* clear all outbound posted Q */ |