aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/dpt_i2o.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-05-28 07:57:14 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-17 13:05:18 -0400
commitdf0ae2497ddefd72a87f3a3b34ff32455d7d4ae0 (patch)
tree552e02a44a21bd38db91729c85219542c2930ae2 /drivers/scsi/dpt_i2o.c
parent68b3aa7c9805aee9005a8ca53c5e99177961fbb9 (diff)
[SCSI] allow sleeping in ->eh_host_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/dpt_i2o.c')
-rw-r--r--drivers/scsi/dpt_i2o.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index 2fd728731d5e..9cc0015b717d 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -746,7 +746,7 @@ static int adpt_bus_reset(struct scsi_cmnd* cmd)
746} 746}
747 747
748// This version of reset is called by the eh_error_handler 748// This version of reset is called by the eh_error_handler
749static int adpt_reset(struct scsi_cmnd* cmd) 749static int __adpt_reset(struct scsi_cmnd* cmd)
750{ 750{
751 adpt_hba* pHba; 751 adpt_hba* pHba;
752 int rcode; 752 int rcode;
@@ -762,6 +762,17 @@ static int adpt_reset(struct scsi_cmnd* cmd)
762 } 762 }
763} 763}
764 764
765static int adpt_reset(struct scsi_cmnd* cmd)
766{
767 int rc;
768
769 spin_lock_irq(cmd->device->host->host_lock);
770 rc = __adpt_reset(cmd);
771 spin_unlock_irq(cmd->device->host->host_lock);
772
773 return rc;
774}
775
765// This version of reset is called by the ioctls and indirectly from eh_error_handler via adpt_reset 776// This version of reset is called by the ioctls and indirectly from eh_error_handler via adpt_reset
766static int adpt_hba_reset(adpt_hba* pHba) 777static int adpt_hba_reset(adpt_hba* pHba)
767{ 778{