summaryrefslogtreecommitdiff
path: root/drivers/fc4
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-05-28 15:56:31 +0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-17 21:05:10 +0400
commit68b3aa7c9805aee9005a8ca53c5e99177961fbb9 (patch)
tree3f28891df0b3a1ecdfe6a98547d8f3c43b74e905 /drivers/fc4
parent94d0e7b805961c44e4dc486ffc21075084bb7175 (diff)
downloadlinux-68b3aa7c9805aee9005a8ca53c5e99177961fbb9.tar.xz
[SCSI] allow sleeping in ->eh_bus_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/fc4')
-rw-r--r--drivers/fc4/fc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/fc4/fc.c b/drivers/fc4/fc.c
index d9e11b536659..cdea598d0c1b 100644
--- a/drivers/fc4/fc.c
+++ b/drivers/fc4/fc.c
@@ -983,7 +983,10 @@ int fcp_scsi_dev_reset(Scsi_Cmnd *SCpnt)
fc->rst_pkt->request->rq_status = RQ_SCSI_BUSY;
fc->rst_pkt->done = fcp_scsi_reset_done;
+
+ spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
fcp_scsi_queue_it(fc, fc->rst_pkt, fcmd, 0);
+ spin_unlock_irqrestore(SCpnt->device->host->host_lock, flags);
down(&sem);