diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-05-28 07:55:48 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-17 13:05:03 -0400 |
commit | 94d0e7b805961c44e4dc486ffc21075084bb7175 (patch) | |
tree | 1609752ea7a9adb28583147f0bea33a9f10877d7 /drivers/message | |
parent | 8fa728a26886f56a9ee10a44fea0ddda301d21c3 (diff) |
[SCSI] allow sleeping in ->eh_device_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message')
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 6a5851c51a21..82cd9bc3b024 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c | |||
@@ -1801,7 +1801,6 @@ int | |||
1801 | mptscsih_dev_reset(struct scsi_cmnd * SCpnt) | 1801 | mptscsih_dev_reset(struct scsi_cmnd * SCpnt) |
1802 | { | 1802 | { |
1803 | MPT_SCSI_HOST *hd; | 1803 | MPT_SCSI_HOST *hd; |
1804 | spinlock_t *host_lock = SCpnt->device->host->host_lock; | ||
1805 | 1804 | ||
1806 | /* If we can't locate our host adapter structure, return FAILED status. | 1805 | /* If we can't locate our host adapter structure, return FAILED status. |
1807 | */ | 1806 | */ |
@@ -1818,7 +1817,6 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt) | |||
1818 | printk(KERN_WARNING MYNAM ": %s: >> Attempting target reset! (sc=%p)\n", | 1817 | printk(KERN_WARNING MYNAM ": %s: >> Attempting target reset! (sc=%p)\n", |
1819 | hd->ioc->name, SCpnt); | 1818 | hd->ioc->name, SCpnt); |
1820 | 1819 | ||
1821 | spin_unlock_irq(host_lock); | ||
1822 | if (mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET, | 1820 | if (mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET, |
1823 | SCpnt->device->channel, SCpnt->device->id, | 1821 | SCpnt->device->channel, SCpnt->device->id, |
1824 | 0, 0, 5 /* 5 second timeout */) | 1822 | 0, 0, 5 /* 5 second timeout */) |
@@ -1830,12 +1828,10 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt) | |||
1830 | hd->ioc->name, SCpnt); | 1828 | hd->ioc->name, SCpnt); |
1831 | hd->tmPending = 0; | 1829 | hd->tmPending = 0; |
1832 | hd->tmState = TM_STATE_NONE; | 1830 | hd->tmState = TM_STATE_NONE; |
1833 | spin_lock_irq(host_lock); | ||
1834 | return FAILED; | 1831 | return FAILED; |
1835 | } | 1832 | } |
1836 | spin_lock_irq(host_lock); | ||
1837 | return SUCCESS; | ||
1838 | 1833 | ||
1834 | return SUCCESS; | ||
1839 | } | 1835 | } |
1840 | 1836 | ||
1841 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 1837 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |